Espresso 設定操作說明

本指南說明如何使用 SDK Manager 安裝 Espresso,並使用 Gradle 建構。建議使用 Android Studio。

設定測試環境

為避免發生晃動問題,我們強烈建議您在用於測試的虛擬或實體裝置上關閉系統動畫。在您的裝置上,在「設定」>「開發人員選項」下方,停用以下 3 項設定:

  • 視窗動畫比例
  • 轉場動畫比例
  • 動畫影片長度比例

新增 Espresso 依附元件

如要在專案中新增 Espresso 依附元件,請完成下列步驟:

  1. 開啟應用程式的 build.gradle 檔案。這通常不是頂層 build.gradle 檔案,而是 app/build.gradle
  2. 在依附元件中新增以下幾行:

Groovy

androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
androidTestImplementation('androidx.test:runner:1.4.0')
androidTestImplementation('androidx.test:rules:1.4.0')

查看完整的 Gradle 依附元件組合

設定檢測執行器

將下列程式碼新增至 android.defaultConfig 中的同一個 build.gradle 檔案:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Gradle 建構檔案範例

Groovy

plugins {
  id 'com.android.application'
}

android {
    compileSdkVersion 33

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    androidTestImplementation 'androidx.test:runner:1.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

Kotlin

plugins {
    id("com.android.application")
}

android {
    compileSdkVersion(33)

    defaultConfig {
        applicationId = "com.my.awesome.app"
        minSdkVersion(21)
        targetSdkVersion(33)
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    androidTestImplementation('androidx.test:runner:1.4.0')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
}

數據分析

為了確保每個新版本發布的方向正確,測試執行器會收集數據分析資料。更具體來說,它會針對每次叫用,上傳受測試應用程式套件名稱的雜湊。這可讓我們同時測量使用 Espresso 的不重複套件數量,以及用量。

如果不想上傳這項資料,可以在檢測指令中加入 disableAnalytics 引數,即可停用此功能:

adb shell am instrument -e disableAnalytics true

新增第一項測試

根據預設,Android Studio 會在 src/androidTest/java/com.example.package/ 中建立測試。

使用規則的 JUnit4 測試範例:

Kotlin

@RunWith(AndroidJUnit4::class)
@LargeTest
class HelloWorldEspressoTest {

    @get:Rule
    val activityRule = ActivityScenarioRule(MainActivity::class.java)

    @Test fun listGoesOverTheFold() {
        onView(withText("Hello world!")).check(matches(isDisplayed()))
    }
}

Java

@RunWith(AndroidJUnit4.class)
@LargeTest
public class HelloWorldEspressoTest {

    @Rule
    public ActivityScenarioRule<MainActivity> activityRule =
            new ActivityScenarioRule<>(MainActivity.class);

    @Test
    public void listGoesOverTheFold() {
        onView(withText("Hello world!")).check(matches(isDisplayed()));
    }
}

執行測試

您可以在 Android Studio 或指令列中執行測試。

在 Android Studio 中

如要在 Android Studio 中建立測試設定,請完成下列步驟:

  1. 依序開啟「Run」>「Edit Configurations」
  2. 新增 Android 測試設定。
  3. 選擇所需模組。
  4. 新增特定檢測執行器:androidx.test.runner.AndroidJUnitRunner
  5. 執行新建立的設定。

使用指令列

執行下列 Gradle 指令:

./gradlew connectedAndroidTest