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.6.1'
androidTestImplementation 'androidx.test:runner:1.6.1'
androidTestImplementation 'androidx.test:rules:1.6.1'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
androidTestImplementation('androidx.test:runner:1.6.1')
androidTestImplementation('androidx.test:rules:1.6.1')

查看完整的 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 36

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 23
        targetSdkVersion 36
        versionCode 1
        versionName "1.0"

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

dependencies {
    androidTestImplementation 'androidx.test:runner:1.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

Kotlin

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

android {
    compileSdkVersion(36)

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

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

dependencies {
    androidTestImplementation('androidx.test:runner:1.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

數據分析

為確保每個新版本都朝正確的方向發展,測試執行器會收集數據分析資料。具體來說,系統會為每次叫用上傳受測應用程式套件名稱的雜湊。這樣一來,我們就能評估使用 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