Тесты поведения пользовательского интерфейса

Тесты пользовательского интерфейса анализируют иерархию интерфейса, чтобы делать утверждения о свойствах его элементов.

Фреймворки Jetpack

Jetpack включает в себя различные фреймворки, которые предоставляют API для написания тестов пользовательского интерфейса:

  • Фреймворк Espresso (Android 4.0.1, уровень API 14 или выше) предоставляет API для написания тестов пользовательского интерфейса, которые имитируют взаимодействие пользователя с представлениями в одном целевом приложении. Ключевое преимущество Espresso заключается в том, что он обеспечивает автоматическую синхронизацию тестовых действий с пользовательским интерфейсом тестируемого приложения. Espresso определяет, когда основной поток бездействует, и запускает тестовые команды в подходящее время, что повышает надежность тестов.
  • Jetpack Compose (Android 5.0, уровень API 21 или выше) предоставляет набор API для тестирования, позволяющих запускать экраны и компоненты Compose и взаимодействовать с ними. Взаимодействие с элементами Compose синхронизируется с тестами и полностью контролирует время, анимацию и рекомпозицию.
  • UI Automator (Android 4.3, уровень API 18 или выше) – фреймворк для тестирования пользовательского интерфейса, который подходит для кросс-приложений в системе и установленных приложениях. UI Automator API позволяет выполнять такие операции, как открытие меню настроек или панели запуска приложений на тестовом устройстве.
  • Robolectric (Android 4.1, уровень API 16 или выше) позволяет создавать локальные тесты, которые выполняются на рабочей станции или в среде непрерывной интеграции в обычной JVM, а не в эмуляторе или на устройстве. Для взаимодействия с компонентами пользовательского интерфейса можно использовать API тестирования Espresso или Compose.

Дополнительные ресурсы

Дополнительную информацию о создании тестов пользовательского интерфейса можно найти в следующих ресурсах.

Документация

Практические работы