- Espresso 測試框架教程
- Espresso 測試 - 主頁
- 簡介
- 設定說明
- 在 Android Studio 中執行測試
- JUnit 概述
- 架構
- 檢視匹配器
- 自定義檢視匹配器
- 檢視斷言
- 檢視操作
- 測試 AdapterView
- 測試 WebView
- 測試非同步操作
- 測試意圖
- 測試多個應用程式的 UI
- 測試記錄器
- 測試 UI 效能
- 測試無障礙
- Espresso 測試資源
- Espresso 測試 - 快速指南
- Espresso 測試 - 有用資源
- Espresso 測試 - 討論
多個應用程式的 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 是否反映了預期狀態。
廣告