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

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

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

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

  • Масштаб анимации окна
  • Масштаб анимации перехода
  • Шкала продолжительности анимации

Добавить зависимости эспрессо

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

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

классный

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

Котлин

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"

Котлин

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

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

классный

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

Котлин

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

Аналитика

Чтобы убедиться, что мы находимся на правильном пути с каждым новым выпуском, программа запуска тестов собирает аналитику. Точнее, он загружает хэш имени пакета тестируемого приложения для каждого вызова. Это позволяет нам измерять как количество уникальных пакетов с использованием Espresso, так и объем их использования.

Если вы не хотите загружать эти данные, вы можете отказаться, включив аргумент disableAnalytics в свою инструментальную команду:

adb shell am instrument -e disableAnalytics true

Добавьте первый тест

Android Studio по умолчанию создает тесты в src/androidTest/java/com.example.package/ .

Пример теста JUnit4 с использованием правил:

Котлин

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

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

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

Ява

@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-студии

Чтобы создать тестовую конфигурацию в Android Studio, выполните следующие шаги:

  1. Откройте «Выполнить» > «Изменить конфигурации» .
  2. Добавьте новую конфигурацию Android Tests.
  3. Выберите модуль.
  4. Добавьте конкретный исполнитель инструментов: androidx.test.runner.AndroidJUnitRunner
  5. Запустите вновь созданную конфигурацию.

Из командной строки

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

./gradlew connectedAndroidTest