本文件說明如何使用 Robo 指令碼,這是用於自動執行行動應用程式的手動 QA 工作,並啟用持續整合 (CI) 和預先發布測試策略的測試。舉例來說,您可以使用 Robo 指令碼測試一般使用者歷程,或提供特定使用者介面 (UI) 輸入內容,例如使用者名稱和密碼。Robo 指令碼是 Robo 測試的功能。
Robo 指令碼會使用 Robo 測試做為測試引擎。在最基本的形式中,Robo 指令碼包含一系列 UI 動作,例如「輸入文字 'username'」,然後「輕觸「確定」按鈕」。Robo 指令碼還可包含等待元素顯示、在元素內輕觸特定位置,以及執行 Android Debug Bridge (adb
) 殼層指令等動作。
相較於傳統測試架構,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 忽略某些 UI 小工具或應用程式畫面。
- 在 Robo 從特定畫面回溯時,提供要執行的自訂動作。
- 在檢索期間遇到特定應用程式畫面時,讓 Robo 執行特定動作。
- 完全自訂 Robo 執行檢索的方式。舉例來說,您可以結合條件式和非條件式動作,在整個檢索期間將測試中的應用程式保持在背景中,同時執行裝置操作,並關閉隨時顯示的任何彈出式對話方塊。
請注意,Robo 指令碼無法取代所有類型的測試。您仍需要單元測試來找出應用程式中的低階邏輯錯誤;這些測試通常不需要 Android 或 iOS 環境。建議您透過指定的檢測工具測試補充 Robo 指令碼測試,這些測試可針對業務邏輯提供具體詳細的斷言,而這類斷言最適合以程式碼表示。
後續步驟
如要瞭解 Robo 指令碼的結構、功能、用途和動作,請參閱 Robo 指令碼參考指南。