多個應用程式的 UI



Android 支援涉及多個應用程式的使用者介面測試。假設我們的應用程式有一個選項,可從我們的應用程式移動到訊息應用程式以傳送訊息,然後返回到我們的應用程式。在這種情況下,UI 自動化測試框架可幫助我們測試應用程式。UI 自動化可以被認為是 espresso 測試框架的絕佳伴侶。在選擇UI 自動化之前,我們可以在 espresso 測試框架中利用intending()選項。

設定說明

Android 將 UI 自動化作為單獨的外掛提供。它需要在app/build.gradle中配置,如下所示:

dependencies {
   ...
   androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}

編寫測試用例的工作流程

讓我們瞭解如何編寫基於UI 自動化的測試用例:

  • 透過呼叫getInstance()方法並傳遞Instrumentation物件來獲取UiDevice物件。

myDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
myDevice.pressHome();
  • 使用findObject()方法獲取UiObject物件。在使用此方法之前,我們可以開啟uiautomatorviewer應用程式來檢查目標應用程式 UI 元件,因為了解目標應用程式使我們能夠編寫更好的測試用例。

UiObject button = myDevice.findObject(new UiSelector()
   .text("Run")
   .className("android.widget.Button"));
  • 透過呼叫UiObject的方法模擬使用者互動。例如,setText()編輯文字欄位,click()啟用按鈕的點選事件。

if(button.exists() && button.isEnabled()) {
   button.click();
}
  • 最後,我們檢查 UI 是否反映了預期狀態。

廣告
© . All rights reserved.