執行 Robo 指令碼 (Android)

本文件說明如何使用 Robo 指令碼,這些指令碼是 自動執行行動應用程式的人工品質確保工作,並啟用持續整合 (CI) 和正式發布前測試策略。比如,您可以使用 Robo 指令碼 測試常見的使用者歷程,或是提供特定使用者介面 (UI) 輸入內容, 例如使用者名稱和密碼Robo 指令碼是 Robo 測試

Robo 指令碼會記錄自己在應用程式中完成工作流程的流程 然後將錄製內容上傳至 Firebase 控制台,在 Robo 中執行 測試。執行已附加指令碼的 Robo 測試時,系統會先執行 Robo 相關步驟 ,然後照常探索應用程式。

Robo 指令碼會使用 Robo 測試 做為測試引擎Robo 指令碼最基本的形式是 使用者介面動作的順序,例如 Enter text 'username',以及 ,然後輕觸「確定」按鈕。Robo 指令碼也可以包含等待等動作 顯示元素、輕觸元素的特定位置 執行 Android Debug Bridge (adb) 殼層指令。

與傳統測試架構相較,Robo 指令碼有下列優點:

功能 說明
高度穩定 Robo 指令碼可以容許重要的結構和行為 應用程式版本和應用程式不穩定的情形。
開放式 Robo 指令碼執行完畢後,基礎 Robo 測試就能接手, 可以繼續測試應用程式這種持續測試的做法使 幾種重要用途舉例來說,您可以使用 Robo 指令碼 執行自訂登入流程,將應用程式切換為特定狀態
可記錄 因此您不必手動編寫 Robo 指令碼。可使用以下模型錄製影片: Robo 指令碼錄製工具建立或修改 Robo 通常並不需要對行動應用程式開發任何瞭解。
靈活有彈性 Robo 指令碼可以與 遊戲。

Robo 指令碼會在 Robo 測試期間有條件觸發,方便使用者 擴增 Robo 的行為 (一般是為了擴大涵蓋範圍或鎖定目標) 特定功能相較於傳統測試架構 Robo 指令碼支援下列操作:

  • 各種觸發條件,例如特定應用程式套件名稱 是否有效 (或未啟用) 或畫面上顯示的特定元素 或「不是」)。
  • 執行控制項,例如執行作業數量上限、優先順序 相關的檢索階段
  • 非傳統的動作類型 (條件式、元素忽略、螢幕關閉)。

建議您盡可能使用 Robo 指令碼,因為指令碼可能 而非易於維護舉例來說,您可以使用 Robo 指令碼 包括:

  • 瀏覽重要工作流程,藉此瞭解應用程式功能的核心功能。 舉例來說,您可以執行登入作業,並在 並註冊新使用者。
  • 聚焦在應用程式的特定部分,以便充分發揮 Robo 測試的效益 讓應用程式從可以最快做出回應的位置 回應使用者要求Robo 指令碼會引導 Robo 測試觸及應用程式的相關部分 Robo 測試會恢復全自動檢索。
  • 將應用程式導入特定狀態或畫面來執行分析、 例如分析應用程式內通訊訊息、隱私權政策或特定層級
  • 執行端對端檢測測試 (無論是否有 Robo 測試) Robo 指令碼完成後,恢復全自動檢索。

使用更進階的 Robo 指令碼功能執行下列操作:

  • 在 Robo 開始檢索前景應用程式前或之後 完成檢索 例如,在 檢索或變更裝置設定
  • 變更檢索期間 Robo 行為的層面,特別是:
    • 讓 Robo 忽略部分 UI 小工具或應用程式畫面。
    • 提供自訂動作,讓 Robo 在從 或在特定畫面上。
    • 讓 Robo 在每次應用程式畫面發生時執行特定動作 在檢索過程中遇到的錯誤。
  • 完全自訂 Robo 檢索的方式。舉例來說,您可以使用 結合條件式和非條件式動作 在整個檢索期間,於背景中執行應用程式之下的測試,同時執行 裝置操控及關閉 之道。

請注意,Robo 指令碼不會取代所有測試。你 需要單元測試來找出應用程式中的低階邏輯錯誤。這些測試 且通常不需使用 Android 或 iOS 環境。建議您 提供目標式檢測設備測試,這類測試可補充 具體、詳細的商業邏輯斷言, 程式碼。

在 Android Studio 中使用 Test Lab 錄製 Robo 指令碼

Android Studio 中的 Robo 指令碼錄音工具可讓你透過下列方式錄製 Robo 指令碼: 直接與裝置上的應用程式互動請按照這些說明操作 ,透過 Android Studio 中的 Firebase 工具開始使用 Robo 指令碼:

  1. 開啟 Android Studio 然後選取 Tools -> 即可Firebase

  2. 在 Firebase 窗格中 錄製 Robo 指令碼並用於引導 Robo 測試

  3. 按一下「錄製 Robo 指令碼」。「Select Deployment Target」對話方塊 出現。

  4. 選取要錄製 Robo 指令碼的裝置。

  5. 在裝置上記錄 Robo 指令碼後,請將檔案儲存為 JSON 檔案 放在所需的位置

  6. 在 Firebase 控制台開啟「Test Lab」頁面,然後上傳 JSON 指令碼檔案和應用程式 APK

  7. 點選「繼續」按鈕。系統會提示您選取裝置 API 級別。測試指令碼完成後,Test Lab 會 測試報告

  8. (選用) 如要複製或下載測試報告和影片的 logcat, 按一下「View Source Files」

根據預設,Robo 指令碼健全性機制可避免讓指令碼提前失敗。 如果選擇 strict 執行模式,且 Robo 指令碼在任何時間點無法運作, Test Lab 會捨棄指令碼中的所有步驟,並定期執行 是 Robo 檢索。Robo 指令碼常會失敗,因為 Robo 找不到必要的 元素。為避免失敗,請確保應用程式導覽功能 並會以確定順序顯示畫面。

在 Test Lab 中執行 Robo 指令碼

如要在 Test Lab 中執行 Robo 指令碼,請按照下列指示操作:

  1. 在 Firebase 控制台中開啟 Test Lab 頁面。

  2. 「應用程式 APK 或 AAB」欄位中上傳應用程式的 APK 或 AAB。

  3. 將您所錄製或手動建立的 Robo 指令碼檔案上傳到 Robo 指令碼 (選用) 欄位。

提供 Robo 指令碼給本機 Robo 測試執行作業

如要為本機 Robo 測試執行作業提供 Robo 指令碼,請使用下列 Robo 測試 選項:

--robo-script-file <robo-script-path>

<robo-script-path> 替換為本機 Robo 指令碼檔案的路徑 以及檔案系統按照本機 Robo 測試的操作說明進行 執行

在 gcloud CLI 測試叫用中指定 Robo 指令碼

如要在 gcloud CLI 測試叫用中指定 Robo 指令碼,請使用下列指令 gcloud CLI 標記:

--robo-script = <robo-script-path>

<robo-script-path> 替換為本機 Robo 指令碼檔案的路徑 檔案系統或 Cloud Storage 中,使用 gs:// 標記法。例如:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

後續步驟