Android поддерживает тестирование пользовательского интерфейса, которое включает более одного приложения. Давайте рассмотрим, что у нашего приложения есть возможность перейти от нашего приложения к приложению обмена сообщениями, чтобы отправить сообщение, а затем вернуться к нашему приложению. В этом сценарии среда тестирования пользовательского интерфейса помогает нам тестировать приложение. UI automator можно рассматривать как хороший компаньон для фреймворка эспрессо. Мы можем воспользоваться опцией intending () в среде тестирования эспрессо, прежде чем выбирать автомат для пользовательского интерфейса .
Инструкция по настройке
Android предоставляет UI Automator как отдельный плагин. Это должно быть настроено в app / build.gradle, как указано ниже,
dependencies { ... androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' }
Рабочий процесс для написания тестового примера
Давайте разберемся, как написать тестовый пример на основе UI Automator ,
Получить объект UiDevice , вызвав метод getInstance () и передав объект Instrumentation .
Получить объект UiObject с помощью метода findObject () . Прежде чем использовать этот метод, мы можем открыть приложение uiautomatorviewer для проверки компонентов пользовательского интерфейса целевого приложения, поскольку понимание целевого приложения позволяет нам писать лучшие тестовые случаи.
Смоделируйте взаимодействие с пользователем, вызвав метод UiObject . Например, setText () для редактирования текстового поля и click () для запуска события нажатия кнопки.
Наконец, мы проверяем, отражает ли пользовательский интерфейс ожидаемое состояние.