Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

開始進行Robo測試

Robo測試是與Firebase測試實驗室集成的測試工具。 Robo測試會分析應用程序UI的結構,然後有條不紊地進行探索,自動模擬用戶活動。與UI / Application Exerciser Monkey測試不同,Robo測試始終使用相同的順序模擬相同的用戶活動,當您使用它來測試具有相同設置的特定設備配置上的應用程序時。這樣,您就可以使用Robo測試來驗證錯誤修復並通過使用UI / Application Exerciser Monkey測試進行測試時無法進行的回歸測試

Robo測試會捕獲日誌文件,保存一系列帶註釋的屏幕截圖,然後根據這些屏幕截圖創建一個視頻,向您顯示其執行的模擬用戶操作。這些日誌,屏幕截圖和視頻可以幫助您確定應用崩潰的根本原因,還可以幫助您查找應用的UI問題。

機器人測試爬網統計

為了幫助您解釋您的Robo測試結果,Robo在每次測試爬網期間都會記錄統計信息。測試實驗室會在測試結果頁面的“機器人”選項卡頂部顯示統計信息:

  • 操作:爬網期間執行的操作總數,包括Robo腳本操作,猴子操作和Robo指令。
  • 活動:搜尋期間涵蓋的不同活動的數量。
  • 屏幕:爬網期間訪問的不同屏幕的數量。

測試實驗室還使用統計信息以爬網圖的形式創建Robo爬網的可視表示。該圖以屏幕為節點,以動作為邊。通過跟踪屏幕之間的邊緣,您可以了解Robo如何在整個爬網過程中遍歷您的應用程序。

機器人測試超時

根據您應用程序UI的複雜程度,Robo測試可能需要五分鐘或更長時間才能完成一套完整的UI交互。對於大多數應用程序,我們建議將測試超時設置為至少120秒(2分鐘),對於中等複雜的應用程序,則將其設置為300秒(5分鐘)。從Android Studio和Google Developer Console運行的測試的超時默認值為300秒(5分鐘),從gcloud命令行運行的測試的默認值為1500秒(25分鐘)。

應用啟動超時錯誤

如果您的應用需要很長時間才能啟動,則Robo可能會引發錯誤,並且無法抓取您的應用。這僅在啟動時間過長的情況下才會發生,並且只能通過修改應用程序以使其啟動更快來解決。

使用Robo腳本進行更多控制

有時您需要對測試進行更多控制。例如,您可能想測試一個普通的用戶旅程或提供特定的UI輸入,例如用戶名和密碼。機器人腳本可以提供幫助。

使用Robo腳本,您可以記錄自己在應用程序中的工作流程,然後將該記錄上傳到Firebase控制台以在Robo測試中運行。當您運行帶有附加腳本的Robo測試時,Robo首先執行您的預定義操作,然後照常瀏覽該應用程序。

通過Android Studio中的Firebase工具開始使用Robo腳本編寫腳本:

  1. 打開Android Studio。
  2. 在主菜單中,選擇“ 工具” >“ Firebase”
  3. 選擇“ 測試實驗室” ,然後單擊“ 記錄Robo腳本”並將其用於引導Robo測試
  4. 按照工具中的其餘步驟記錄您的Robo腳本。
  5. 將那個Robo腳本上傳到測試實驗室並開始測試。

機器人腳本錯誤

如果Robo腳本在任何時候失敗,則測試實驗室將放棄腳本中的所有其他步驟,並繼續進行常規的Robo爬網。大多數情況下,Robo腳本會失敗,因為測試實驗室無法在屏幕上找到必要的元素。為避免失敗,請確保您的應用程序導航是可預測的,並且您的屏幕未按不確定的順序顯示。

Robo測試和非Android UI小部件

機器人測試使用Android API直接在Android UI小部件上執行操作。這有助於測試自動探索您的UI,但也意味著他們需要能夠為屏幕提取Android UI層次結構才能在屏幕上運行測試。

如果您應用中的屏幕未使用Android UI小部件,則Robo測試將退回到Monkey Actions上以測試該屏幕。與更有條理的機器人動作不同,猴子動作只是在設備屏幕上的半隨機位置上模擬點擊事件。

為了更好地測試不使用Android UI小部件的屏幕,您可以通過Firebase Test Lab遊戲循環測試,用一組腳本化的點擊和交互來替換Monkey Action的任意點擊。

與Google Play集成

當您使用Alpha或Beta通道上傳和發布應用的APK文件時,可以在Google Play控制台中使用Robo測試。 Robo測試在一組來自不同地理位置的流行物理設備上運行,從而涵蓋了各種尺寸和硬件配置的測試範圍。要了解更多信息,請參閱使用發布前報告確定問題

測試帳戶登錄和預定義的文本輸入

Robo測試支持測試帳戶登錄,還允許您在應用程序的字段中輸入預定義的文本。對於自定義登錄和其他預定義的文本輸入,Robo測試可以在應用程序的EditText字段中輸入文本。對於每個字符串,您需要使用Android資源名稱來標識EditText字段。要了解更多信息,請參閱訪問資源

登入

Robo測試有兩種互斥的方法來支持登錄:

  • 自定義登錄:如果您提供測試帳戶憑據,則需要告知Robo test在何處輸入它們,並提供這些憑據。
  • 自動登錄:如果您的應用程序的登錄屏幕使用Google帳戶進行身份驗證,則Robo測試將使用Google測試帳戶,除非您提供用於自定義登錄的測試帳戶憑據。

要提供用於自定義登錄的測試帳戶憑據,請執行以下操作:

  1. 選擇尺寸頁面上,選擇其他選項
  2. 在“ 測試帳戶憑據”(可選)下 ,輸入用戶名和密碼資源名稱以及測試帳戶的用戶名和密碼。

預定義文字輸入

您可以為應用程序使用的其他文本字段提供自定義輸入文本。要為其他字段提供文本輸入,請執行以下操作:

  1. 選擇尺寸頁面上,選擇其他選項
  2. 其他字段(可選)下 ,輸入一個或多個資源名稱,並在相應的文本字段中輸入字符串。

預定義的文本輸入錯誤

Robo搜索具有與提供的正則表達式匹配的Android資源名稱的EditText字段。如果Robo找不到匹配的字段,則不會輸入您的文本,否則將照常繼續進行爬網。

您最多可以提供應用支持的三個深層鏈接以進行測試。深層鏈接會作為Android ACTION_VIEW意向發佈到您的應用。因此,每個鏈接必須與您的應用程序中的意圖過濾器匹配。

如果提供了一個或多個深層鏈接,則該應用首先會正常啟動(使用ACTION_MAIN目的),然後爬網到指定的超時時間。在主爬網之後,每個深層鏈接都將爬網另外30秒。

如果Robo找不到與您的深層鏈接匹配的活動,則測試實驗室將忽略該鏈接。深層鏈接問題通常是所提供的深層鏈接與其應用程序中的定義之間存在差異的結果。檢查提供的URL和您的應用程序是否存在錯別字或其他不一致之處。

應用許可支持

測試實驗室支持使用Google Play提供的應用許可服務的應用 。要在通過測試實驗室測試應用時成功檢查許可,您必須將應用發佈到Play商店中的生產渠道。要使用測試實驗室在Alpha或Beta通道中測試您的應用,請先刪除許可檢查,然後再將您的應用上傳到測試實驗室。

已知的問題

Robo測試當前具有以下已知限制:

  • UI框架支持 。 Robo測試僅與使用Android UI框架中的UI元素的應用程序兼容(包括ViewViewGroup對象,但不包括WebView對象)。如果您使用Robo測試來鍛煉使用其他UI框架的應用程序,包括使用Unity遊戲引擎的應用程序,則該測試可能會退出而不會在第一個屏幕之外進行探索。
  • 登錄驗證碼 。 Robo測試無法繞過登錄屏幕,登錄屏幕需要輸入輸入憑據(例如完成驗證碼)之外的其他用戶操作。