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 指令碼動作、隨機操作和 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 測試動作不同,猴子動作只會模擬裝置螢幕上半隨機位置的輕觸事件。
如要進一步測試不使用 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 測試帳戶,除非您提供自訂登入的測試帳戶憑證。
如要提供自訂登入功能的測試帳戶憑證,請按照下列步驟操作:
在「選取維度」頁面中,選擇「其他選項」。
在「測試帳戶憑證 (選用)」下方,輸入使用者名稱和密碼資源名稱,以及測試帳戶的使用者名稱和密碼。
預先定義的文字輸入內容
您可以為應用程式使用的其他文字欄位提供自訂輸入文字。如要為其他欄位提供文字輸入內容,請按照下列步驟操作:
在「選取維度」頁面中,選擇「其他選項」。
在「其他欄位 (選用)」下方,輸入一或多個資源名稱,以及要輸入至對應文字欄位的字串。
預先定義文字輸入 {:#predefined-text} 錯誤
Robo 測試會搜尋 EditText
欄位,其 Android 資源名稱與所提供的規則運算式相符。如果 Robo 找不到相符的欄位,就不會輸入您的文字,但會照常繼續檢索。
深層連結
您最多可以提供三個應用程式支援的深層連結,用於測試。深層連結會以 Android ACTION_VIEW
意圖的形式發送至應用程式。因此,每個連結都必須對應至應用程式中的意圖篩選器。
如果提供一或多個深層連結,應用程式會先正常啟動 (使用 ACTION_MAIN
意圖),然後爬取至指定的逾時時間。在主要檢索作業完成後,系統會針對每個深層連結再進行 30 秒的檢索。
深層連結錯誤
如果 Robo 測試找不到符合深層連結的活動,Test Lab 就會忽略該連結。深層連結問題通常是因為提供的深層連結與應用程式中的定義不一致。請檢查提供的網址和應用程式,看看是否有錯字或其他不一致之處。
應用程式授權支援
Test Lab 支援使用 Google Play 提供的應用程式授權服務的應用程式。如要使用 Test Lab 測試應用程式時成功檢查授權,您必須將應用程式發布至 Play 商店的正式版管道。如要使用 Test Lab 在 Alpha 或 Beta 版管道測試應用程式,請先移除授權檢查,再將應用程式上傳至 Test Lab。
後續步驟
- 使用 Robo 指令碼自訂測試。