執行 Robo 腳本 (Android)

本文檔介紹如何使用Robo 腳本,這些腳本可以自動執行行動應用程式的手動 QA 任務,並啟用持續整合 (CI) 和預發布測試策略。例如,您可以使用 Robo 腳本來測試常見的使用者旅程或提供特定的使用者介面 (UI) 輸入,例如使用者名稱和密碼。 Robo 腳本是Robo 測試的功能。

使用 Robo 腳本,您可以錄製自己在應用程式中走過的工作流程,然後將該錄製上傳到 Firebase 控制台以在 Robo 測試中執行。當您執行附加腳本的 Robo 測試時,Robo 首先執行預先編寫腳本的操作,然後像往常一樣探索應用程式。

Robo 腳本使用Robo 測試作為測試引擎。在最基本的形式中,Robo 腳本由一系列 UI 操作組成,例如輸入文字「使用者名稱」 ,然後點擊「確定」按鈕。 Robo 腳本還可以包括等待元素出現、點擊元素內的特定點以及執行 Android 偵錯橋 ( adb ) shell 命令等操作。

Robo腳本與傳統測試框架相比具有以下優勢:

能力描述
高度堅固Robo 腳本可以容忍應用程式版本和應用程式脆弱性之間的顯著結構和行為差異。
開放式Robo 腳本完成後,基本 Robo 測試可以接管並繼續測試應用程式。這種持續測試方法支援多個關鍵用例。例如,您可以使用 Robo 腳本透過執行自訂登入流程將應用程式帶入特定狀態。
可錄音您無需手動編寫 Robo 腳本。可以使用 Android Studio 中的 Robo 腳本記錄器來記錄它們。建立或修改 Robo 腳本通常不需要任何行動開發知識。
靈活的Robo 腳本可以與遊戲中常見的非本機 UI 元素互動。

Robo 腳本在 Robo 測試期間有條件地觸發,這使用戶可以增強 Robo 的行為 - 通常是為了實現更大的覆蓋範圍或針對特定功能。與傳統的測試框架相比,Robo 腳本支援以下內容:

  • 各種觸發條件,例如特定應用程式套件名稱是否處於活動狀態或螢幕上是否顯示特定元素。
  • 執行控制,例如最大執行次數、優先順序、相關抓取階段。
  • 非常規操作類型(條件、元素忽略、螢幕關閉)。

我們建議您盡可能使用 Robo 腳本,因為它們可以輕鬆維護。例如,您可以使用 Robo 腳本執行以下操作:

  • 瀏覽重要的工作流程以了解應用程式功能的核心。例如,您可以執行登入、在首次啟動後設定應用程式的狀態以及註冊新使用者。
  • 將 Robo 專注於應用程式的特定部分,以充分利用 Robo 測試時間。 Robo 腳本引導 Robo 測試到達應用程式的相關部分,其中 Robo 測試恢復完全自動化的爬行。
  • 將應用程式置於特定狀態或螢幕以執行分析,例如,分析應用程式內訊息、隱私策略或遊戲的特定層級。
  • 執行端對端儀器測試,無論 Robo 測試是否在 Robo 腳本完成後恢復全自動爬網。

使用更進階的 Robo 腳本功能來執行以下操作:

  • 在 Robo 開始抓取待測應用程式之前或抓取完成後執行操作,例如在抓取之前清理待測應用程式資料或更改裝置設定。
  • 在爬網期間更改 Robo 行為的各個方面,特別是:
    • 讓 Robo 忽略一些 UI 小部件或應用程式畫面。
    • 為 Robo 提供從特定螢幕回溯時執行的自訂操作。
    • 每當爬網過程中遇到特定應用程式畫面時,讓 Robo 執行特定操作。
  • 完全自訂 Robo 執行爬行的方式。例如,使用條件和非條件操作的組合,使被測應用程式在整個爬網過程中保持在後台,同時執行設備操作並消除沿途出現的任何彈出對話框。

請記住,Robo 腳本並不能取代所有類型的測試。您仍然需要單元測試來捕獲應用程式中的低階邏輯錯誤;這些測試通常不需要 Android 或 iOS 環境。我們建議您使用有針對性的儀器測試來補充 Robo 腳本測試,這些測試可以對業務邏輯進行特定、詳細的斷言,這些斷言最好用程式碼來表達。

使用 Android Studio 中的測試實驗室錄製 Robo 腳本

Android Studio 中的 Robo 腳本記錄器可讓您透過直接與裝置上的應用程式互動來記錄 Robo 腳本。請依照以下說明開始透過 Android Studio 中的 Firebase 工具編寫 Robo 腳本:

  1. 開啟Android Studio並選擇Tools -> Firebase

  2. 在 Firebase 窗格中,按一下Record Robo Script and Use it to Guide Robo Test

  3. 按一下「錄製 Robo 腳本」 。將出現「選擇部署目標」對話方塊。

  4. 選擇要錄製 Robo 腳本的裝置。

  5. 在裝置中錄製 Robo 腳本後,將檔案儲存為 JSON 檔案在所需位置。

  6. 在 Firebase 控制台中開啟測試實驗室頁面並上傳 JSON 腳本檔案和應用程式 APK。

  7. 點選繼續按鈕。系統會提示您選擇裝置和 API 等級。測試腳本完成後,測試實驗室產生測試報告。

  8. (可選)若要複製或下載測試報告和影片的logcat,請按一下「檢視來源檔案」

預設情況下,Robo 腳本穩健性機制可防止其過早失敗。如果您選擇strict執行模式並且 Robo 腳本在任何時候失敗,測試實驗室將放棄腳本中的所有後續步驟並恢復常規 Robo 爬網。大多數情況下,Robo 腳本會失敗,因為 Robo 無法在螢幕上找到所需的元素。為了避免失敗,請確保您的應用程式導航是可預測的,並且您的螢幕按確定的順序顯示。

在測試實驗室中執行 Robo 腳本

若要在測試實驗室中執行 Robo 腳本,請按照以下說明操作:

  1. 在 Firebase 控制台中開啟測試實驗室頁面。

  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>

使用gs://表示法將<robo-script-path>替換為本機檔案系統或 Cloud Storage 中 Robo 腳本檔案的路徑。例如:

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

下一步