В этом руководстве описана установка Espresso с помощью SDK Manager и сборка с использованием Gradle. Рекомендуется использовать Android Studio.
Настройте тестовую среду.
Во избежание нестабильной работы мы настоятельно рекомендуем отключить системную анимацию на виртуальных или физических устройствах, используемых для тестирования. На вашем устройстве в разделе «Настройки» > «Параметры разработчика» отключите следующие 3 параметра:
- Масштаб анимации окна
- Масштаб анимации перехода
- Шкала продолжительности анимации
Добавьте зависимости Espresso.
Чтобы добавить зависимости Espresso в ваш проект, выполните следующие шаги:
- Откройте файл
build.gradleвашего приложения. Обычно это не главный файлbuild.gradleа файлapp/build.gradle. - Добавьте следующие строки в раздел зависимостей:
Классный
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 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' }
Котлин
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 с использованием правил:
Котлин
@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 выполните следующие шаги:
- Откройте меню «Выполнить» > «Изменить настройки» .
- Добавьте новую конфигурацию для Android-тестов.
- Выберите модуль.
- Добавьте специальный инструментарий для запуска тестов:
androidx.test.runner.AndroidJUnitRunner - Запустите созданную конфигурацию.
Из командной строки
Выполните следующую команду Gradle:
./gradlew connectedAndroidTest