本指南說明如何使用 Firebase 主控台的 App Distribution 自動測試人員功能,自動將版本發布給測試人員。自動化測試器功能可為應用程式提供隨時可用的簡易煙霧測試工具。
事前準備
如果您尚未將 Firebase 新增至 Android 專案,請新增 Firebase。
如果您不使用任何其他 Firebase 產品,只需建立專案並註冊應用程式即可。不過,如果您日後決定使用其他產品,請務必完成「使用 Firebase 控制台新增 Firebase」中的所有步驟。
當您準備好將應用程式的預先發布版發布給測試人員時,請按照一般程序建構 APK。您必須使用偵錯金鑰或應用程式簽署金鑰簽署 APK。
使用 Firebase 控制台將應用程式發布至自動化測試人員
如要將應用程式發行給自動化測試器,請使用 Firebase 主控台上傳 APK 檔案:
- 開啟 Firebase 控制台的 App Distribution 頁面。系統顯示提示時,請選取 Firebase 專案。
- 在「Releases」頁面中,從下拉式選單中選取您要發布的應用程式,
- 將應用程式的 APK 檔案拖曳至管理中心即可上傳。
- 上傳完成後,請在「新增測試人員或群組」搜尋列中選取「自動化測試人員」。
- 如要自訂自動化測試,請按一下「編輯」圖示,然後在「自訂自動化測試」對話方塊中選取自訂項目。
- (選用) 在「裝置設定」對話方塊中,選取符合測試規格的 API 級別、裝置螢幕方向和語言代碼。
- (選用) 點選「登入憑證」下拉式選單,建立自訂使用者名稱和密碼,以便在測試期間使用 (如果應用程式需要登入憑證)。
- 按一下「發布」。您也可以為應用程式新增選用的版本說明。
使用 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 建構參數 | |
---|---|
testDevices 或 testDevicesFile
|
您想透過自動化測試將版本發布至的測試裝置。 您可以將測試裝置指定為以半形分號分隔的裝置規格清單 testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
或者,您也可以指定包含裝置規格清單 (以分號分隔) 的檔案路徑: testDevicesFile="/path/to/testDevices.txt"
|
testUsername
|
用於自動測試期間自動登入的使用者名稱。 |
testUsernameResource
|
自動登入時要使用的使用者名稱欄位資源名稱,用於自動化測試。 |
testPassword 或 testPasswordFile
|
自動化測試期間用於自動登入的密碼。 或者,您可以指定含有密碼的純文字檔案路徑: testPasswordFile="/path/to/testPassword.txt" |
testPasswordResource
|
自動登入時用於自動化測試的密碼欄位資源名稱。 |
testNonBlocking |
以非同步方式執行自動化測試。請前往 Firebase 控制台查看自動化測試結果。 |
如要進一步瞭解如何開始使用 Gradle,以及設定發行作業的不同方式,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。
使用 fastlane 將應用程式發布至自動化測試人員
在 ./fastlane/Fastfile
車道中,新增 firebase_app_distribution
區塊。請使用下列參數設定發布至自動化測試人員功能的發布版本:
firebase_app_distribution 參數 | |
---|---|
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 控制台。 |
如要進一步瞭解如何開始使用 fastlane,以及設定發行作業的不同方式,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」。
自動測試檢索狀態
為協助您解讀測試結果,自動化測試結果分頁會顯示任何測試問題、應用程式的螢幕截圖,以及每個裝置的測試檢索影片。您可以在測試結果頁面中查看測試狀態:
檢索狀態 | 說明 |
---|---|
待處理 | 自動測試仍在進行中,結果很快就會出爐。 |
通過 | 自動測試已成功檢索應用程式,且未發現任何當機情形。 |
失敗 | 應用程式在測試期間異常終止,因此自動測試失敗。 |
無定論 | 基礎架構發生錯誤,因此自動測試失敗。 |