Используйте Espresso для написания кратких, красивых и надежных тестов пользовательского интерфейса Android.
В следующем фрагменте кода показан пример теста Espresso:
Котлин
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
Ява
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
Основной API небольшой, предсказуемый и простой в освоении, но при этом остается открытым для настройки. Espresso четко тестирует ожидания, взаимодействия и утверждения, не отвлекаясь на шаблонное содержимое, специальную инфраструктуру или запутанные детали реализации.
Тесты эспрессо выполняются оптимально быстро! Он позволяет вам забыть о ожиданиях, синхронизации, переходе в режим ожидания и опросах, пока он манипулирует и утверждает пользовательский интерфейс приложения, когда он находится в состоянии покоя.
Целевая аудитория
Espresso ориентирован на разработчиков, которые считают, что автоматизированное тестирование является неотъемлемой частью жизненного цикла разработки. Хотя его можно использовать для тестирования «черного ящика», полную мощь Espresso раскрывают те, кто знаком с тестируемой кодовой базой.
Возможности синхронизации
Каждый раз, когда ваш тест вызывает onView()
, Espresso ожидает выполнения соответствующего действия или утверждения пользовательского интерфейса, пока не будут выполнены следующие условия синхронизации:
- В очереди сообщений нет сообщений, которые Espresso необходимо немедленно обработать.
- В данный момент нет экземпляров
AsyncTask
, выполняющих задачу. - Все ресурсы простоя , определенные разработчиком, простаивают.
Выполняя эти проверки, Espresso существенно увеличивает вероятность того, что в любой момент времени может произойти только одно действие или утверждение пользовательского интерфейса. Эта возможность дает вам более надежные и надежные результаты испытаний.
Пакеты
-
espresso-core
— содержит основные и базовые сопоставленияView
, действия и утверждения. См. Основы и рецепты . -
espresso-web
— содержит ресурсы для поддержкиWebView
. -
espresso-idling-resource
— механизм синхронизации Espresso с фоновыми заданиями. -
espresso-contrib
— внешние материалы, содержащие действияDatePicker
,RecyclerView
иDrawer
, проверки доступности иCountingIdlingResource
. -
espresso-intents
— расширение для проверки и заглушки намерений для испытаний на герметичность. -
espresso-remote
— расположение многопроцессной функциональности Espresso.
Вы можете узнать больше о последних версиях, прочитав примечания к выпуску .
Дополнительные ресурсы
Для получения дополнительной информации об использовании Espresso в тестах Android обратитесь к следующим ресурсам.
Образцы
- Образцы кода Espresso включают в себя полный набор образцов Espresso.
- BasicSample : базовый образец эспрессо.
- (более...)