執行 Robo 測試 (Android)

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

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

除了執行一般的 Robo 測試之外,您還可以自訂測試 使用 Robo 指令碼,這是 Robo 測試的其中一項功能如要瞭解詳情 請參閱「執行 Robo 指令碼」。

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

Robo 測試檢索統計資料

為協助你解讀 Robo 測試結果,Robo 測試會記錄期間 每個測試檢索。Test Lab 會在 Robo 測試分頁頂端顯示統計資料 ,包括:

  • 動作: 檢索期間所執行的動作總數、 包括 Robo 指令碼動作、Monkey 動作和 Robo 指令。

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

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

Test Lab 也會使用統計資料建立以圖像方式呈現 Robo 進行測試。這張圖表的節點為畫面,邊緣為動作。只要追蹤畫面之間的邊緣,即可瞭解 Robo 測試如何在整個檢索期間穿越應用程式。

Robo 測試逾時

視應用程式 UI 的複雜度而定,Robo 測試可能需要五分鐘或更長的時間,才能完成完整的 UI 互動。建議您將測試逾時時間設為至少 120 秒 (2 分鐘),適用於大多數應用程式,而對於中度複雜的應用程式,則建議設為 300 秒 (5 分鐘)。預設值 逾時為 300 秒 (5 分鐘),適用於從 Android Studio 執行的測試 Firebase 控制台和 900 秒 (15 分鐘) 的測試版本 gcloud 指令列。

應用程式啟動逾時錯誤

如果應用程式啟動時間過長,Robo 測試可能會擲回錯誤,並無法檢索應用程式。這種情況只會發生在啟動時間過長的情況下,解決方法是修改應用程式,讓啟動時間縮短。

使用 Robo 指令碼,進一步控管

有時候,您需要進一步控制測試。舉例來說,您可能想測試常見的使用者歷程,或是提供特定 UI 輸入內容,例如使用者名稱和密碼。Robo 指令碼可以助您一臂之力。如要進一步瞭解 Robo 指令碼,請參閱執行 Robo 指令碼Robo 指令碼參考資料 指南

Robo 測試和非 Android UI 小工具

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

如果應用程式中的畫面未使用 Android UI 小工具,Robo 測試會改用 Monkey 動作來測試該畫面。與較為系統化的 Robo 測試動作不同,Monkey 動作只會模擬裝置螢幕上半隨機位置的輕觸事件。

如要更妥善地測試沒有使用 Android UI 小工具的畫面,您可以 輕觸 Monkey Action,並透過一組指令碼輕觸和互動 到 Firebase Test Lab 遊戲迴圈測試

與 Google Play 整合

您可以在 Google Play 管理中心使用 Robo 測試 使用 Alpha 版或 Beta 版發布應用程式的 APK 檔案。Robo 測試 會在不同地理位置的一組熱門實體裝置上運作 可針對各種板型規格和硬體設定提供測試涵蓋範圍。 詳情請參閱: 透過正式發布前測試報告找出問題

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

Robo 測試支援測試帳戶登入,也允許您在應用程式的欄位中輸入預先定義的文字。對於自訂登入和其他預先定義的文字輸入內容,Robo 測試可在應用程式的 EditText 欄位中輸入文字。對於每個字串,您都必須使用 Android 資源名稱來識別 EditText 欄位。詳情請參閱: 存取資源

登入

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

  • 自訂登入:如果提供了測試帳戶憑證,則必須告知 Robo 測試的輸入位置,並提供這些憑證。

  • 自動登入:如果您的應用程式設有採用 Google 帳戶進行驗證,但除非您 提供用於自訂登入的測試帳戶憑證。

,瞭解如何調查及移除這項存取權。

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

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

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

,瞭解如何調查及移除這項存取權。

預先定義的文字輸入內容

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

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

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

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

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

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

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

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

應用程式授權支援

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

後續步驟