Инструкции по настройке Espresso

В этом руководстве рассказывается, как установить Espresso с помощью SDK Manager и собрать его с помощью Gradle. Рекомендуем использовать Android Studio.

Настройте тестовую среду

Чтобы избежать нестабильности, настоятельно рекомендуем отключить системную анимацию на виртуальных или физических устройствах, используемых для тестирования. На устройстве выберите Настройки > Для разработчиков и отключите следующие три параметра:

  • Анимация окон
  • Анимация переходов
  • Длительность анимации

Добавление зависимостей Espresso

Чтобы добавить зависимости Espresso в проект, выполните следующие действия:

  1. Откройте файл build.gradle своего приложения. Обычно это не файл верхнего уровня build.gradle, а app/build.gradle.
  2. Добавьте в раздел dependencies следующие строки:

Яркий

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

Настройте средство запуска инструментирования

Добавьте в тот же файл build.gradle следующую строку в android.defaultConfig:

Яркий

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Пример файла сборки Gradle

Яркий

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 Tests.
  3. Выберите модуль.
  4. Добавьте определенный инструмент запуска: androidx.test.runner.AndroidJUnitRunner.
  5. Запустите только что созданную конфигурацию.

Как изменить протокол с помощью командной строки

Выполните следующую команду Gradle:

./gradlew connectedAndroidTest