運行 Robo 測試 (Android)

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

Robo 測試擷取日誌文件,保存一系列帶有註釋的螢幕截圖,然後根據這些螢幕截圖建立影片以向您展示其執行的模擬使用者操作。這些日誌、螢幕截圖和影片可以幫助您確定應用程式崩潰的根本原因。這些 Robo 測試功能還可以幫助您發現應用程式 UI 的問題。

除了執行常規 Robo 測試之外,您還可以使用 Robo 腳本自訂測試,這是 Robo 測試的功能。要了解更多信息,請參閱運行 Robo 腳本

如果您想嘗試 iOS+ 版 Robo 的 Beta 版本,請參閱執行 Robo 測試

Robo 測試爬行統計數據

為了幫助您解釋 Robo 測試結果,Robo 測試會記錄每次測試爬網期間的統計資料。測試實驗室在測試結果頁面的 Robo 測試標籤頂部顯示統計資訊:

  • 操作:爬網期間執行的操作總數,包括 Robo 腳本操作、Monkey 操作和 Robo 指令。

  • 活動:爬網期間涵蓋的不同活動的數量。

  • 螢幕:抓取期間造訪的不同螢幕的數量。

測試實驗室還使用統計數據以爬行圖的形式創建 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 Actions 只是模擬裝置螢幕上半隨機位置的點擊事件。

為了更好地測試不使用 Android UI 小部件的螢幕,您可以透過Firebase 測試實驗室遊戲循環測試將 Monkey Action 的任意點擊替換為一組腳本化點擊和互動。

與 Google Play 集成

當您使用 Alpha 或 Beta 管道上傳和發布應用程式的 APK 檔案時,您可以在 Google Play Console 中使用 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意圖)並爬行至指定的超時時間。主爬網之後,每個深層連結都會額外爬網 30 秒。

如果 Robo 測試找不到與您的深層連結相符的活動,測試實驗室將忽略該連結。深層連結問題通常是由於提供的深層連結與其在應用程式中的定義之間存在差異所造成的。檢查提供的 URL 和您的應用程式是否有拼字錯誤或其他不一致之處。

應用程式許可支持

測試實驗室支援使用 Google Play 提供的應用程式授權服務的應用程式。要在使用測試實驗室測試應用程式時成功檢查許可,您必須將應用程式發佈到 Play 商店中的生產管道。若要使用測試實驗室在 Alpha 或 Beta 頻道中測試您的應用程序,請在將應用程式上傳到測試實驗室之前刪除許可檢查。

下一步