自動測試 Android 應用程式

本指南說明如何使用 Firebase 控制台中的「應用程式發布自動化測試人員」功能,自動將版本發布給測試人員。自動化測試人員功能為應用程式提供隨時易於使用的煙霧測試工具。

事前準備

如果您尚未將 Firebase 新增至 Android 專案,請先完成這項作業。

如果沒有使用其他 Firebase 產品,就只須建立專案並註冊應用程式。不過,如果您決定日後要使用其他產品,請務必完成使用 Firebase 主控台新增 Firebase 中的所有步驟。

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

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

如要將應用程式發行至自動化測試人員,請透過 Firebase 控制台上傳 APK 檔案:

  1. 開啟 Firebase 控制台的「應用程式發布」頁面。畫面上出現提示時,請選取 Firebase 專案。
  2. 在「版本」頁面的下拉式選單中選取您要發布的應用程式。
  3. 請將應用程式的 APK 檔案拖曳至主控台即可上傳。
  4. 上傳完成後,在「新增測試人員或群組」搜尋列中選取「自動化測試人員」
  5. 如要自訂自動化測試,請按一下「Edit」圖示,然後在「Customize your automated test」對話方塊中選取自訂測試。
  6. (選用) 在「裝置設定」對話方塊中,選取符合測試規格的 API 級別、裝置螢幕方向和語言代碼。
  7. (選用) 按一下「Login credentials」(登入憑證) 下拉式選單,建立可在測試期間使用的使用者名稱和密碼。
  8. 按一下「發布」。您也可以視需要為應用程式新增版本資訊。

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

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

應用程式發行:發行選項
--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 區段,並使用下列參數設定對自動化測試人員功能的發布:

應用程式發布建構參數
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 將 Android 應用程式發布給測試人員」一文。

自動測試檢索狀態

為了協助您解讀測試結果,「自動測試結果」分頁會顯示所有測試問題、應用程式的螢幕截圖,以及每部裝置的測試檢索影片。測試結果頁面會顯示測試狀態:

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