自動測試 Android 應用程式

本指南說明如何使用 Firebase 主控台的 App Distribution 自動測試人員功能,自動將版本發布給測試人員。自動化測試器功能可為應用程式提供隨時可用的簡易煙霧測試工具。

事前準備

如果您尚未將 Firebase 新增至 Android 專案,請新增 Firebase

如果您不使用任何其他 Firebase 產品,只需建立專案並註冊應用程式即可。不過,如果您日後決定使用其他產品,請務必完成「使用 Firebase 控制台新增 Firebase」中的所有步驟。

當您準備好將應用程式的預先發布版發布給測試人員時,請按照一般程序建構 APK。您必須使用偵錯金鑰或應用程式簽署金鑰簽署 APK。

使用 Firebase 控制台將應用程式發布至自動化測試人員

如要將應用程式發行給自動化測試器,請使用 Firebase 主控台上傳 APK 檔案:

  1. 開啟 Firebase 控制台的 App Distribution 頁面。系統顯示提示時,請選取 Firebase 專案。
  2. 在「Releases」頁面中,從下拉式選單中選取您要發布的應用程式,
  3. 將應用程式的 APK 檔案拖曳至管理中心即可上傳。
  4. 上傳完成後,請在「新增測試人員或群組」搜尋列中選取「自動化測試人員」
  5. 如要自訂自動化測試,請按一下「編輯」圖示,然後在「自訂自動化測試」對話方塊中選取自訂項目。
  6. (選用) 在「裝置設定」對話方塊中,選取符合測試規格的 API 級別、裝置螢幕方向和語言代碼。
  7. (選用) 點選「登入憑證」下拉式選單,建立自訂使用者名稱和密碼,以便在測試期間使用 (如果應用程式需要登入憑證)。
  8. 按一下「發布」。您也可以為應用程式新增選用的版本說明。

使用 Firebase CLI 將應用程式發布給自動化測試人員

執行 appdistribution:distribute 指令,上傳應用程式並發布給測試人員。請使用下列參數設定發布至自動化測試人員功能的發布���本:

appdistribution:distribute options
--test-devices--test-devices-file

您想將建構項目發布至自動化測試人員功能的測試裝置。

您可以將測試裝置指定為以半形分號分隔的測試裝置清單:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您也可以指定純文字檔案的路徑,其中包含以半形分號分隔的測試裝置清單:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

自動化測試期間用於自動登入的使用者名稱。

--test-password--test-password-file

自動化測試期間用於自動登入的密碼。

或者,您也可以指定含有密碼的純文字檔案路徑:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

自動登入時要使用的使用者名稱欄位資源名稱,用於自動化測試

--test-password-resource

自動登入時用於自動化測試的密碼欄位資源名稱。

--test-non-blocking

以非同步方式執行自動化測試。請前往 Firebase 控制台查看自動化測試結果。

如要進一步瞭解如何開始使用 Firebase CLI,以及設定發布作業的不同方式,請參閱「使用 Firebase CLI 將 Android 應用程式發布給測試人員」。

使用 Gradle 將應用程式發布至自動化測試人員

您可以新增至少一個 firebaseAppDistribution 區段來設定 App Distribution,並使用下列參數將發布作業分配給自動化測試人員功能:

App Distribution 建構參數
testDevicestestDevicesFile

您想透過自動化測試將版本發布至的測試裝置。

您可以將測試裝置指定為以半形分號分隔的裝置規格清單

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您也可以指定包含裝置規格清單 (以分號分隔) 的檔案路徑:

testDevicesFile="/path/to/testDevices.txt"
testUsername

用於自動測試期間自動登入的使用者名稱。

testUsernameResource

自動登入時要使用的使用者名稱欄位資源名稱,用於自動化測試

testPasswordtestPasswordFile

自動化測試期間用於自動登入的密碼。

或者,您可以指定含有密碼的純文字檔案路徑:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

自動登入時用於自動化測試的密碼欄位資源名稱。

testNonBlocking

以非同步方式執行自動化測試。請前往 Firebase 控制台查看自動化測試結果。

如要進一步瞭解如何開始使用 Gradle,以及設定發行作業的不同方式,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。

使用 fastlane 將應用程式發布至自動化測試人員

./fastlane/Fastfile 車道中,新增 firebase_app_distribution 區塊。請使用下列參數設定發布至自動化測試人員功能的發布版本:

firebase_app_distribution 參數
test_devicestest_devices_file

您想將建構項目發布至自動化測試人員功能的測試裝置。您可以透過半形分號分隔的測試裝置清單指定測試裝置:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

或者,您可以指定純文字檔案的路徑,其中包含以分號分隔的測試裝置清單:

test_devices_file: "/path/to/test-devices.txt"
test_username

自動化測試期間用於自動登入的使用者名稱。

test_passwordtest_password_file

自動化測試期間用於自動登入的密碼。

或者,您也可以指定含有密碼的純文字檔案路徑:

test_password_file: "/path/to/test-password.txt"
test_username_resource

自動登入時要使用的使用者名稱欄位資源名稱,用於自動化測試

test_password_resource

自動登入時用於自動化測試的密碼欄位資源名稱。

test_non_blocking

以非同步方式執行自動化測試。如要查看自動測試結果,請前往 FIrebase 控制台。

如要進一步瞭解如何開始使用 fastlane,以及設定發行作業的不同方式,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」。

自動測試檢索狀態

為協助您解讀測試結果,自動化測試結果分頁會顯示任何測試問題、應用程式的螢幕截圖,以及每個裝置的測試檢索影片。您可以在測試結果頁面中查看測試狀態:

檢索狀態 說明
待處理 自動測試仍在進行中,結果很快就會出爐。
通過 自動測試已成功檢索應用程式,且未發現任何當機情形。
失敗 應用程式在測試期間異常終止,因此自動測試失敗。
無定論 基礎架構發生錯誤,因此自動測試失敗。