自動測試 Android 應用程式

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

事前準備

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

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

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

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

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

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

使用 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 控制台。

如要進一步瞭解如何開始使用 Quicklane 以及設定發行方式的其他方式,請參閱「使用 Fastlane 向測試人員發布 Android 應用程式」。

自動測試檢索狀態

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

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