Поведенческие тесты пользовательского интерфейса
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Поведенческие тесты пользовательского интерфейса — это тесты, которые анализируют иерархию пользовательского интерфейса, чтобы сделать утверждения о свойствах элементов пользовательского интерфейса.
Фреймворки Jetpack
Jetpack включает в себя различные платформы, предоставляющие API для написания UI-тестов:
- Платформа тестирования 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 или выше) — это платформа тестирования пользовательского интерфейса, подходящая для функционального тестирования пользовательского интерфейса между приложениями в системе и установленных приложениях. API-интерфейсы UI Automator позволяют выполнять такие операции, как открытие меню «Настройки» или средства запуска приложений на тестовом устройстве.
- Robolectric (Android 4.1, уровень API 16 или выше) позволяет создавать локальные тесты, которые запускаются на вашей рабочей станции или в среде непрерывной интеграции в обычной JVM, а не на эмуляторе или устройстве. Он может использовать API-интерфейсы тестирования Espresso или Compose для взаимодействия с компонентами пользовательского интерфейса.
Дополнительные ресурсы
Для получения дополнительной информации о создании тестов пользовательского интерфейса обратитесь к следующим ресурсам.
Документация
Кодлабы
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]