應用程式測試代理是測試案例生成、管理和執行代理,由 Firebase 中的 Gemini 提供技術支援。您可以使用自然語言定義測試目標,虛擬服務專員會運用 AI 瞭解及操作應用程式、模擬使用者互動,並提供詳細的測試結果。
應用程式測試代理程式如何使用您的資料
應用程式測試代理是由 Gemini in Firebase 提供,並適用相同條款。如要進一步瞭解 Gemini in Firebase 如何使用您的資料,請參閱「Gemini in Firebase 如何使用您的資料」。
事前準備
如果尚未註冊應用程式,請透過 Firebase 註冊。
如果您未使用任何其他 Firebase 產品,只需要建立專案並註冊應用程式即可,不必在應用程式中新增任何 SDK。不過,如果您日後決定使用其他產品,請務必完成「使用控制台新增 Firebase」Firebase中的所有步驟。
準備將應用程式的預先發布版發布給測試人員時,請使用一般程序建構 APK 或 AAB,然後上傳至 Firebase 控制台的 App Distribution。您必須使用偵錯金鑰或應用程式簽署金鑰簽署 APK。
建立測試案例
如要執行 AI 引導的測試,應用程式測試代理會使用自然語言測試案例,針對應用程式執行測試。
每個測試案例都會細分為多個步驟,並依序執行。
步驟可將測試案例劃分為多個階段,每個階段都有各自的成功條件。代理程式可能會在任何一個步驟中採取多項動作。
如要建立測試案例,請開啟 Firebase控制台的「App Distribution」頁面,然後按照下列步驟操作:
- 在「測試案例」分頁中,按一下「新增測試案例」。如果不想自行建立測試案例,可以修改或使用提供的測試案例範例。
- 在「新增測試案例」對話方塊中,為測試案例命名。這項資訊用於識別測試,但代理程式會忽略。
- (選用) 選取包含設定步驟的必要測試案例,以便在主要測試前執行。如果先決條件測試失敗,整個測試都會標示為失敗。測試結果會一併顯示先決條件和主要測試的步驟與結果。
- 建議點選「新增另一個步驟」按鈕,將測試分成多個步驟。
- 為每個步驟設定目標,說明應用程式測試代理程式應在該步驟執行的動作。
- (選用) 新增提示,提供更多資訊,協助應用程式測試專員在該步驟中瞭解及操作應用程式。
- (選用) 新增「成功標準」,協助應用程式測試專員判斷步驟是否已順利完成。
- 完成測驗自訂作業後,按一下「儲存」。
測試案例範例
以下範例說明如何使用 App Testing 代理程式建立測試案例:
測試首頁 |
測試用標題
|
載入首頁
|
目標
|
載入首頁
|
提示
|
略過所有新手上路畫面。關閉所有彈出式視窗。請勿登入。
|
成功標準
|
螢幕上會顯示應用程式主畫面、所有圖片都已載入,且不會顯示任何錯誤。
|
執行測試
應用程式測試代理可讓您在 Play 管理中心中執行 AI 輔助測試,只要在「版本」或「測試案例」頁面點選「執行測試」按鈕即可。這會開啟「應用程式測試」虛擬服務專員自訂畫面,您可以在這裡選擇一或多個現有測試案例,供虛擬服務專員執行。您也可以選擇要測試的裝置,以及是否提供任何登入憑證。
您也可以變更測試類型,選擇執行隨機檢索測試。
隨機檢索測試會使用自動測試人員功能。
如要查看測試結果,請前往版本「應用程式測試代理程式」分頁的「版本」頁面。按一下「查看詳細資料」按鈕,開啟「測試結果」對話方塊,查看任何問題、應用程式的螢幕截圖,以及 Gemini 在測試期間執行的動作。
自動測試建構作業
如要自動在新版本上執行應用程式測試代理測試 (例如來自 CI/CD 管道),可以使用 App Distribution 的 Gradle 或 fastlane 外掛程式,或 Firebase CLI,將版本發布給代理。
使用 Firebase CLI 自動測試建構作業
如要使用 App Testing 代理程式功能,您必須至少指定一個測試裝置和一個測試案例 ID。您可以在 Firebase 控制台的「測試案例」頁面中,找到並下載測試案例 ID。如要進一步瞭解如何開始使用 Firebase CLI,以及設定發布作業的不同方式,請參閱「使用 Firebase CLI 將 Android 應用程式發布給測試人員」。
執行 appdistribution:distribute
指令上傳應用程式,並使用下列參數將發布作業設定為 App 測試代理程式功能:
appdistribution:distribute 選項 |
--test-devices 或
--test-devices-file
|
您要將版本發布至應用程式測試代理功能所用的測試裝置。
您可以指定測試裝置,方法是以半形分號分隔測試裝置清單:
--test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
或者,您也可以指定純文字檔的路徑,其中包含以半形分號分隔的測試裝置清單:
--test-devices-file "/path/to/test-devices.txt"
您可以使用 gcloud CLI 查詢可用的裝置型號。
|
--test-username
|
測試期間自動登入時要使用的使用者名稱。
|
--test-password 或
--test-password-file
|
測試期間自動登入時要使用的密碼。
或者,您也可以指定含有密碼的純文字檔路徑:
--test-password-file "/path/to/test-password.txt"
|
--test-non-blocking
|
以非同步方式執行測試。前往 Firebase 控制台查看自動測試結果。
|
--test-case-ids 或
--test-case-ids-file
|
以半形逗號分隔的測試案例 ID 清單,用於執行 AI 輔助自動化測試:
--test-case-ids "load-app,play-the-first-level"
或者,您也可以指定純文字檔案的路徑,其中包含以半形逗號或換行符號分隔的測試案例 ID 清單:
--test-case-ids-file "/path/to/test-case-ids.txt"
|
使用 Gradle 自動測試建構作業
如要使用 App Testing 代理程式功能,您必須至少指定一個測試裝置和一個測試案例 ID。您可以在 Firebase 控制台的「測試案例」頁面中,找到並下載測試案例 ID。如要進一步瞭解如何開始使用 Gradle,以及設定發布作業的不同方式,請參閱「使用 Gradle 將 Android 應用程式發布給測試人員」。
您可以新增至少一個 firebaseAppDistribution
區段來設定 App Distribution,並使用下列參數設定發布至 App Testing 代理程式功能:
App Distribution 建立參數 |
testDevices 或
testDevicesFile
|
您要將版本發布至應用程式測試代理功能所用的測試裝置。
您可以指定測試裝置,方法是以半形分號分隔裝置規格清單
testDevices="model=tokay, version=36, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
或者,您也可以指定檔案路徑,其中包含以半形分號分隔的裝置規格清單:
testDevicesFile="/path/to/testDevices.txt"
您可以使用 gcloud CLI 查詢可用的裝置型號。
|
testUsername
|
測試期間自動登入時要使用的使用者名稱。
|
testPassword 或
testPasswordFile
|
測試期間自動登入時要使用的密碼。
或者,您也可以指定含有密碼的純文字檔路徑:
testPasswordFile="/path/to/testPassword.txt"
|
testNonBlocking |
以非同步方式執行測試。前往 Firebase 控制台查看自動測試結果。
|
testCases 或
testCasesFile
|
以半形逗號分隔的測試案例 ID 清單,用於執行 AI 輔助自動化測試:
testCases: "load-app,play-the-first-level"
或者,您也可以指定純文字檔案的路徑,其中包含以半形逗號或換行符號分隔的測試案例 ID 清單:
testCasesFile: "/path/to/test-case-ids.txt"
|
使用 fastlane 自動測試建構作業
如要使用 App Testing 代理程式功能,您必須至少指定一個測試裝置和一個測試案例 ID。您可以在 Firebase 控制台的「測試案例」頁面中,找到並下載測試案例 ID。如要進一步瞭解如何開始使用 fastlane,以及設定發布作業的不同方式,請參閱「使用 fastlane 將 Android 應用程式發布給測試人員」一文。
在 ./fastlane/Fastfile
管道中新增 firebase_app_distribution
區塊。使用下列參數,將發布內容設定為 App Testing 代理程式功能:
firebase_app_distribution 參數 |
test_devices 或
test_devices_file
|
您要將版本發布至應用程式測試代理功能的測試裝置。您可以指定測試裝置,方法是以半形分號分隔測試裝置清單:
test_devices: "model=tokay, version=36, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"
或者,您也可以指定純文字檔的路徑,其中包含以半形分號分隔的測試裝置清單:
test_devices_file: "/path/to/test-devices.txt"
您可以使用 gcloud CLI 查詢可用的裝置型號。
|
test_username
|
測試期間自動登入時要使用的使用者名稱。
|
test_password 或
test_password_file
|
測試期間自動登入時要使用的密碼。
或者,您也可以指定含有密碼的純文字檔路徑:
test_password_file: "/path/to/test-password.txt"
|
test_non_blocking |
以非同步方式執行測試。前往 Firebase 控制台查看自動測試結果。
|
test_case_ids 或
test_case_ids_file
|
以半形逗號分隔的測試案例 ID 清單,用於執行 AI 輔助自動化測試:
test_case_ids: "load-app,play-the-first-level"
或者,您也可以指定純文字檔案的路徑,其中包含以半形逗號或換行符號分隔的測試案例 ID 清單:
test_case_ids_file: "/path/to/test-case-ids.txt"
|
偵錯測試結果
如果測試結果與預期不同,您可以使用「測試結果」頁面「查看詳細資料」下方的「顯示代理程式檢視畫面」切換鈕,對測試進行偵錯。代理檢視畫面會顯示應用程式測試代理使用應用程式無障礙資訊時,偵測到的畫面元素。如要進一步瞭解服務專員看到的內容,可以從動作溢位選單下載相關資訊。
您也可以使用「測試結果」頁面上的「查看構件」按鈕,查看測試結果的所有影片、記錄和其他 Cloud 構件。
已知問題和限制
應用程式測試代理預先發布版有一些已知限制:
- 由於應用程式測試代理程式會使用生成式 AI 測試應用程式,因此有時會採取不同的動作,但仍會遵循相同的指令。
- 應用程式測試代理只支援下列動作:輕觸、輸入文字、向上/下/左/右滑動、長按、拖曳、返回和等待。
- 如果測試只包含一個步驟,但需要執行多個動作才能完成,應用程式測試代理就無法順利執行。如果將複雜工作拆分成多個較短的步驟,效果會更好。
- 應用程式測試代理有時不會捲動畫面,顯示螢幕外的其他元素。如果沒有可捲動的視覺指標,就更容易發生這種情況。做為替代方案,您可以使用「提示」欄位建議捲動。
- 應用程式測試代理程式有時無法正確計數,例如執行特定次數的動作。
- 如果啟用
FLAG_SECURE
,應用程式測試代理程式就無法瀏覽應用程式。只會看到空白畫面,不會看到應用程式的螢幕截圖。
測試配額
預先發布期間,AI 輔助測試會在配額限制內免費提供。預設配額上限為每個 Firebase 專案每月 200 次測試。
請注意,如果您選擇執行多個測試案例,或在多部裝置上執行相同測試案例,系統會將這些視為多項測試。舉例來說,如果您在 2 部裝置上執行 2 個測試案例,系統會將此視為共 4 項測試。
如要提高配額,請與 Firebase 支援團隊聯絡並說明用途。