Android Studio 的學習歷程

為 Android Studio 建立旅程有助於簡化端對端測試的編寫和維護作業,因為您可以使用自然語言描述每項測試的步驟和斷言 (稱為旅程)。透過 Gemini 的視覺和推理功能,以自然語言編寫的步驟會轉換為 Gemini 在應用程式上執行的動作,讓您輕鬆編寫及瞭解旅程。此外,您也可以撰寫並描述更複雜的斷言,Gemini 會根據裝置上顯示的內容進行評估,以判斷您的歷程是否通過或失敗。

由於 Gemini 會分析哪些動作可滿足目標,因此旅程對應用程式版面配置或行為的細微變更更具彈性,因此在不同應用程式版本和裝置設定下執行時,會產生較少不穩定的測試。

您可以直接在 Android Studio 中針對任何本機或遠端 Android 裝置編寫及執行旅程。IDE 提供全新的編輯器體驗,可用於建立歷程,並提供豐富的結果,協助您更瞭解 Gemini 的推理和執行歷程。

編寫歷程

Android Studio 提供檔案範本和全新的編輯器體驗,讓您輕鬆完成建立和編輯作業。旅程是使用 XML 語法編寫,可用於安排旅程說明和步驟。

如要建立並開始編輯歷程,請按照下列步驟操作:

  1. 在 Android Studio 的「Project」面板中,按一下要編寫旅程的應用程式模組。
  2. 依序選取「New」>「Test」>「Journey File」
  3. 在隨即顯示的對話方塊中,輸入旅程的名稱和說明。
  4. 按一下「OK」。Android Studio 會為您的旅程建立 XML 檔案,並使用您選擇的名稱。您可以使用「Code」檢視畫面直接編輯 XML,也可以使用「Design」檢視畫面,享有更優質的編輯體驗。
  5. 在「Design」檢視畫面中查看旅程時,請使用文字欄位說明旅程的每個步驟。每個步驟都可以包含您希望 Gemini 執行的說明性動作,或是您希望 Gemini 評估的斷言。
  6. 按下鍵盤上的 Enter 鍵,即可在同一個旅程中開始新的提示。您可以視需要針對要定義的旅程每個步驟重複這項操作。

撰寫旅程的訣竅

以詳細且有條理的方式編寫旅程,可提高 Gemini 以更確定的方式準確執行您指定的旅程的可能性。以下提供一些訣竅,協助您更有效地編寫旅程:

  • 避免明確的單一動作:Gemini 可將旅程中的每個步驟轉換為多項動作。避免撰寫「按下 X」等明確的單一動作提示,因為模型是為了達成複雜目標而訓練。
  • 將斷言與動作分開:Gemini 會持續評估應用程式的狀態,判斷應用程式是否處於「正確」狀態,以便繼續流程。不過,您可能需要將較複雜的斷言定義為個別步驟。此外,請使用「驗證」、「斷言」或「檢查」等關鍵字詞開頭,讓 Gemini 知道這個步驟是斷言。
  • 透過滑動操作 Gemini:除了輕觸或鍵盤輸入等基本互動之外,Gemini 也支援需要在特定方向滑動螢幕的動作。舉例來說,如果要捲動內容或關閉某些 UI,只要描述滑動動作的方向和意圖即可。根據預設,Gemini 會從螢幕中央滑動,但您可以引導 Gemini 在裝置螢幕的不同部分滑動。
  • 避免其他複雜的互動和設定變更:Gemini 目前不支援所有互動和設定變更,例如多指手勢、螢幕旋轉或折疊動作。團隊正在努力改善 Gemini 功能。

執行旅程

您可以在任何可用的本機或遠端裝置上執行旅程,這與任何其他設備測試類似,Android Studio 會產生豐富的結果,協助您瞭解旅程的執行情形。

如要測試歷程,請按照下列步驟操作:

  1. 從主要工具列選取目標裝置,就像執行檢測測試時一樣。
  2. 前往要測試的旅程 XML 檔案,並在編輯器中開啟該檔案。
  3. 在編輯器中執行下列任一操作:
    1. 如果您目前處於「Design」檢視畫面,請按一下 「Run Journey」
    2. 如果您目前處於「Code」檢視畫面,請在 XML 中定義旅程名稱的邊緣空白處,按一下 「Run」

Android Studio 會為您建立 Journeys Test 設定,並在目標裝置上執行。執行期間,Android Studio 會建構及部署應用程式,並連線至 Gemini,以便決定在流程的每個步驟中採取哪些動作。

執行旅程時,編輯器也會顯示部分結果,例如在旅程中執行每個步驟時的螢幕截圖、採取的動作和推論。只要將滑鼠游標懸停在編輯器中的縮圖上,即可查看更多資訊。這項功能可在您迭代旅程中的提示中派上用場。

查看結果

Android Studio 完成測試後,系統會自動顯示測試結果面板,讓您查看結果。

與您可能在 Android Studio 中執行的其他檢測測試相比,旅程結果的顯示方式有些不同。

  • 「測試」面板會將旅程拆解為個別步驟。您可以點選每個步驟,進一步瞭解 Gemini 執行該步驟的方式。
  • 「結果」面板會顯示豐富的資訊,協助您瞭解 Gemini 如何瞭解及推斷使用者歷程,以及如何執行。
  • 系統會顯示傳送給 Gemini 的螢幕截圖,以便在步驟中的每個動作提供視覺輔助。
  • 每張螢幕截圖旁都會說明採取的每項行動,以及 Gemini 採取該行動的原因。
  • 步驟中的每個動作都會編號。

已知問題

  • 測試旅程時,系統會預設授予應用程式的所有權限。
  • 在搭載 Android 15 (API 級別 35) 的裝置上測試旅程時,您可能會在裝置上看到「AndroidX Crawler」的「Unsafe App Blocked」警告。您可以點選「還是安裝」略過這項檢查。或者,您也可以設定裝置端開發人員選項,並停用「透過 USB 驗證應用程式」選項。
  • 目前,旅程檔案不會顯示在「Projects」面板的 「Android」檢視畫面中。如要查看專案中的旅程檔案,請使用「Project」檢視畫面。
  • 如果旅程中有多個動作共用相同的提示,旅程編輯器中顯示的測試結果可能會不正確。具體來說,所有含有重複提示的動作都會顯示與該提示最近更新例項相關聯的測試結果。如要解決這個問題,請確保每個動作都有專屬提示,例如新增專屬前置字串或後置字串。
  • 在全新模擬器上第二次載入鍵盤時,會顯示觸控筆彈出式視窗。這個彈出式視窗通常會導致與文字欄位互動的測試失敗。發生這種情況時,請關閉彈出式視窗並重新執行旅程。
  • 應用程式檢索器的檢索結果偶爾可能會顯示在代理程式理由中。
  • 歷程執行作業偶爾會因 IllegalStateException 而失敗。發生這種情況時,您可以按一下「測試結果」查看完整錯誤。
  • 如果未在頂層 build.gradle 檔案中定義 Android Gradle 外掛程式 (com.android.application),執行旅程時可能會看到以下錯誤:

    Failed to apply plugin class 'com.android.tools.journeys.JourneysGradlePlugin'
    

    如要解決這個問題,請確認外掛程式是在頂層 build.gradle 檔案中定義。詳情請參閱「設定 Android 建構系統」。