執行 Robo 測試 (Android)

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

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

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

如要試用 Robo for iOS 以上版本,請參閱「執行 Robo 測試」。

Robo 測試檢索統計資料

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

  • 動作:在檢索期間執行的動作總數,包括 Robo 指令碼動作、Monkey 動作和 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 動作來測試該畫面。與一般的 Robo 測試動作不同,Monkey Actions 只會在裝置螢幕上的半隨機位置模擬輕觸事件。

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

與 Google Play 整合

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

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

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

登入

Robo 測試有兩種對應方法支援登入作業:

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

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

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

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

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

預先定義的文字輸入內容

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

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

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

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

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

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

如果提供一或多個深層連結,應用程式會先正常啟動 (使用 ACTION_MAIN 意圖),然後直到指定的逾時時間為止。主要檢索完成後,每個深層連結都會額外檢索 30 秒。

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

應用程式授權支援

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

後續步驟