本文件將說明如何使用 Robo 指令碼,這類指令碼可以自動處理行動應用程式的手動品質確保工作,以及啟用持續整合 (CI) 和正式發布前測試策略。舉例來說,您可以使用 Robo 指令碼測試常見的使用者歷程,或是提供特定使用者介面 (UI) 輸入內容,例如使用者名稱和密碼。Robo 指令碼是 Robo 測試的一項功能,
Robo 指令碼使用 Robo 測試做為測試引擎。Robo 指令碼最基本的形式,是由一系列的 UI 動作組成,例如輸入文字「使用者名稱」,然後輕觸「確定」按鈕。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 行為的層面,特別是:
- 讓 Robo 忽略部分 UI 小工具或應用程式畫面。
- 提供針對從特定畫面進行返回追蹤時,供 Robo 執行的自訂動作。
- 讓 Robo 在檢索期間遇到特定應用程式畫面時執行特定動作。
- 完全自訂 Robo 檢索的方式。例如,使用條件式和非條件式動作的組合,在整個檢索期間讓應用程式持續在背景執行未經測試的應用程式,同時執行裝置操作,並關閉過程中顯示的任何彈出式對話方塊。
請注意,Robo 指令碼不會取代所有測試。您仍然需要單元測試來找出應用程式中的低層級邏輯錯誤,這些測試通常不需要 Android 或 iOS 環境。建議您使用指定目標檢測設備測試來補充 Robo 指令碼測試,而這些測試可以包含關於商業邏輯的具體、詳細斷言,這類測試最好在程式碼中表示。
後續步驟
如要瞭解 Robo 指令碼的結構、功能、用途和動作,請參閱 Robo 指令碼參考指南。