自動測試 Android 應用程式

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

事前準備

如果您尚未將 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. 如要自訂自動化測試,請按一下「編輯」圖示,然後在「自訂自動化測試」對話方塊中選取自訂項目。
  6. (選用) 在「裝置設定」對話方塊中,選取符合測試規格的 API 級別、裝置螢幕方向和語言代碼。
  7. (選用) 按一下「Login credentials」(登入憑證) 下拉式選單,建立自訂使用者名稱和密碼,以便在應用程式需要登入憑證時使用。
  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 應用程式發布給測試人員」。

自動測試檢索狀態

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

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