Hướng dẫn thiết lập Espresso

Hướng dẫn này trình bày cách cài đặt Espresso bằng Trình quản lý SDK và tạo Espresso bằng Gradle. Bạn nên dùng Android Studio.

Thiết lập môi trường kiểm thử

Để tránh tình trạng không ổn định, bạn nên tắt hiệu ứng động của hệ thống trên thiết bị ảo hoặc thiết bị thực dùng để kiểm thử. Trên thiết bị của bạn, trong phần Cài đặt > Tuỳ chọn cho nhà phát triển, hãy tắt 3 chế độ cài đặt sau:

  • Tỷ lệ hình động của cửa sổ
  • Tỷ lệ hình động chuyển tiếp
  • Tỷ lệ thời lượng của trình tạo hình động

Thêm các phần phụ thuộc Espresso

Để thêm các phần phụ thuộc Espresso vào dự án của bạn, hãy hoàn tất các bước sau:

  1. Mở tệp build.gradle của ứng dụng. Đây thường không phải là tệp build.gradle cấp cao nhất mà là app/build.gradle.
  2. Thêm các dòng sau vào bên trong phần dependencies:

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')

Xem toàn bộ các phần phụ thuộc Gradle.

Đặt trình chạy đo lường

Thêm dòng sau vào cùng tệp build.gradle trong android.defaultConfig:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Ví dụ về tệp bản dựng 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.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

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.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

Số liệu phân tích

Để đảm bảo chúng tôi đi đúng hướng với mỗi bản phát hành mới, trình chạy kiểm thử sẽ thu thập số liệu phân tích. Cụ thể hơn, nó tải một hàm băm của tên gói của ứng dụng đang được kiểm thử lên cho mỗi lệnh gọi. Điều này cho phép chúng tôi đo lường cả số lượng gói riêng biệt bằng Espresso cũng như mức độ sử dụng.

Nếu không muốn tải dữ liệu này lên, bạn có thể chọn không thực hiện bằng cách thêm đối số disableAnalytics vào lệnh đo lường:

adb shell am instrument -e disableAnalytics true

Thêm thử nghiệm đầu tiên

Theo mặc định, Android Studio sẽ tạo các kiểm thử trong src/androidTest/java/com.example.package/.

Ví dụ về kiểm thử JUnit4 bằng cách sử dụng Quy tắc:

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()));
    }
}

Chạy chương trình kiểm thử

Bạn có thể chạy các kiểm thử trong Android Studio hoặc từ dòng lệnh.

Trong Android Studio

Để tạo một cấu hình kiểm thử trong Android Studio, hãy hoàn tất các bước sau:

  1. Mở Run > Edit Configurations (Chạy > Chỉnh sửa cấu hình).
  2. Thêm một cấu hình Android Tests mới.
  3. Chọn một mô-đun.
  4. Thêm một trình chạy đo lường cụ thể: androidx.test.runner.AndroidJUnitRunner
  5. Chạy cấu hình vừa tạo.

Từ dòng lệnh

Thực thi lệnh Gradle sau:

./gradlew connectedAndroidTest