執行 Robo 測試 (Android)

Robo 測試是與 Firebase Test Lab 整合的測試工具。Robo 測試會分析應用程式的使用者介面 (UI) 結構,然後有條不紊地探索,自動模擬使用者活動。在特定裝置設定上使用相同設定測試應用程式時,機器人測試一律會模擬相同的使用者活動,且順序相同。這種可重複執行的測試方法可讓您使用 Robo 測試驗證錯誤修正,並測試迴歸。

機器人測試會擷取記錄檔、儲存一系列附註的螢幕截圖,然後從這些螢幕截圖建立影片,向您展示模擬的使用者操作。這些記錄、螢幕截圖和影片可協助您判斷應用程式當機的根本原因。這些 Robo 測試功能也有助於找出應用程式 UI 的問題。

除了執行一般 Robo 測試外,您也可以使用 Robo 指令碼 (Robo 測試的一項功能) 自訂測試。詳情請參閱「執行 Robo 指令碼」。

如要試用 iOS+ 版 Robo Beta 版,請參閱「執行 Robo 測試」。

Robo 測試檢索統計資料

為協助您解讀 Robo 測試結果,Robo 測試會在每次測試檢索期間記錄統計資料。Test Lab 會在測試結果頁面的「Robo 測試」分頁頂端顯示統計資料:

  • 動作:在檢索期間執行的動作總數,包括 Robo 指令碼動作、隨機動作和 Robo 指令。

  • 活動:在檢索期間涵蓋的不同活動數量。

  • 畫面:檢索期間造訪的不重複畫面數量。

Test Lab 也會使用統計資料,以漫遊圖的形式建立 Robo 測試的視覺化呈現方式。圖表的節點是畫面,邊緣是動作。只要沿著畫面之間的邊緣,就能瞭解 Robo 測試在檢索期間如何遍歷應用程式。

Robo 測試逾時

視應用程式 UI 的複雜程度而定,Robo 測試可能需要五分鐘以上,才能完成一整套 UI 互動。建議您將測試逾時時間設為至少 120 秒 (2 分鐘),如果是中等複雜程度的應用程式,則設為 300 秒 (5 分鐘)。從 Android Studio 和 Firebase 控制台執行的測試,逾時預設值為 300 秒 (5 分鐘);從 gcloud 指令列執行的測試,逾時預設值為 900 秒 (15 分鐘)。

應用程式啟動逾時錯誤

如果應用程式啟動時間過長,Robo 測試可能會擲回錯誤,且無法檢索應用程式。這種情況只會在啟動時間極長時發生,如要解決問題,請修改應用程式,加快啟動速度。

使用 Robo 指令碼進一步掌控測試

有時您需要進一步控管測試。舉例來說,您可能想測試常見的使用者歷程,或提供特定 UI 輸入內容,例如使用者名稱和密碼。這時 Robo 指令碼就能派上用場。如要進一步瞭解 Robo 指令碼,請參閱「執行 Robo 指令碼」和「Robo 指令碼參考指南」。

Robo 測試和非 Android UI 小工具

Robo 測試會使用 Android API 直接對 Android UI 小工具執行動作。這有助於測試自動探索 UI,但也表示測試必須能夠擷取畫面的 Android UI 階層,才能在該階層上執行測試。

如果應用程式中的畫面未使用 Android UI 小工具,Robo 測試會改用 Monkey Actions 測試該畫面。與更有條理的 Robo 測試動作不同,Monkey 動作只會模擬在裝置螢幕上隨機位置的輕觸事件。

如要更妥善地測試未使用 Android UI 小工具的畫面,您可以透過 Firebase Test Lab 遊戲迴圈測試,以一組指令碼式輕觸和互動取代 Monkey Action 的任意輕觸。

與 Google Play 整合

透過 Alpha 版或 Beta 版管道上傳及發布應用程式的 APK 檔案時,您可以在 Google Play 管理中心使用 Robo 測試。Robo 測試會在不同地理位置的一組熱門實體裝置上執行,涵蓋各種外型規格和硬體設定。詳情請參閱「透過正式發布前測試報告找出問題」。

測試帳戶登入和預先定義的文字輸入內容

Robo 測試支援測試帳戶登入,也允許您在應用程式的欄位中輸入預先定義的文字。如要自訂登入程序及輸入其他預先定義的文字,Robo 測試可以在應用程式的EditText欄位中輸入文字。您需要使用 Android 資源名稱,為每個字串識別 EditText 欄位。詳情請參閱「存取資源」。

登入

Robo 測試支援兩種互斥的登入方法:

  • 自訂登入:如果您提供測試帳戶憑證,必須告知 Robo 測試要在哪裡輸入憑證,並提供這些憑證。

  • 自動登入:如果應用程式的登入畫面使用 Google 帳戶進行驗證,Robo 測試會使用 Google 測試帳戶,除非您提供自訂登入的測試帳戶憑證。

如要提供自訂登入的測試帳戶憑證,請按照下列步驟操作:

  1. 在「選取維度」頁面中,選擇「其他選項」

  2. 在「測試帳戶憑證 (選用)」下方,輸入使用者名稱和密碼資源名稱,以及測試帳戶的使用者名稱和密碼。

預先定義的文字輸入內容

您可以為應用程式使用的其他文字欄位提供自訂輸入文字。 如要為其他欄位提供文字輸入內容,請按照下列步驟操作:

  1. 在「選取維度」頁面中,選擇「其他選項」

  2. 在「其他欄位 (選用)」下方,輸入一或多個資源名稱,以及要在對應文字欄位中輸入的字串。

預先定義的文字輸入 {:#predefined-text} 錯誤

Robo 測試會搜尋 Android 資源名稱符合所提供規則運算式的 EditText 欄位。如果 Robo 找不到相符的欄位,就不會輸入文字,但會照常繼續檢索。

您最多可以提供三個應用程式支援的深層連結,以供測試。系統會以 Android ACTION_VIEW 意圖的形式,將深層連結發給應用程式。因此,每個連結都必須符合應用程式中的意圖篩選器。

如果提供一或多個深層連結,系統會先正常啟動應用程式 (使用 ACTION_MAIN Intent),並在指定逾時時間內進行檢索。主要檢索作業完成後,系統會針對每個深層連結額外檢索 30 秒。

如果 Robo 測試找不到與深層連結相符的活動,就會Test Lab忽略該連結。深層連結問題通常是因提供的深層連結與應用程式中的定義不一致所致。請檢查提供的網址和應用程式,確認是否有錯別字或其他不一致之處。

應用程式授權支援

Test Lab 支援使用 Google Play 提供的應用程式授權服務的應用程式。如要在使用 Test Lab 測試應用程式時順利檢查授權,您必須將應用程式發布至 Play 商店的正式版管道。如要使用 Test Lab 在 Alpha 或 Beta 頻道中測試應用程式,請先移除授權檢查,再將應用程式上傳至 Test Lab

後續步驟