Автоматизированное тестирование – это инструмент, интегрированный с Firebase Test Lab. Автоматизированное тестирование анализирует структуру пользовательского интерфейса приложения, а затем методично исследует его, автоматически имитируя действия пользователя. При тестировании приложения на устройстве с определенной конфигурацией и настройками автоматизированное тестирование всегда имитирует одни и те же действия пользователя в одном и том же порядке. Такой подход позволяет использовать автоматизированное тестирование для проверки исправлений ошибок и регрессионного тестирования.
Автоматизированное тестирование записывает файлы журналов, сохраняет серию аннотированных скриншотов, а затем создает из них видео, чтобы показать вам, какие действия пользователя были смоделированы. Эти журналы, скриншоты и видео помогут вам определить основную причину сбоев приложения. Эти функции автоматизированного тестирования также могут помочь вам найти проблемы с пользовательским интерфейсом вашего приложения.
Помимо обычного автоматизированного тестирования, вы можете настроить тесты с помощью скриптов Robo, которые являются функцией автоматизированного тестирования. Подробнее о том, как запустить робот-скрипт…
Если вы хотите попробовать бета-версию автоматизированного тестирования для iOS+, прочитайте статью Как запустить автоматизированное тестирование.
Статистика сканирования при автоматизированном тестировании
Чтобы вам было проще интерпретировать результаты автоматизированного тестирования, во время каждого сканирования записывается статистика. Test Lab показывает статистику в верхней части вкладки автоматизированного тестирования на странице результатов:
"Действия" – общее количество действий, выполненных во время сканирования, включая действия робо-скрипта, действия Monkey и директивы робота.
"Действия" – количество отдельных действий, выполненных во время сканирования.
Экраны. Количество уникальных экранов, посещенных во время сканирования.
Test Lab также использует статистику для создания визуального представления автоматизированного тестирования в виде графа сканирования. Узлами графа являются экраны, а ребрами – действия. Проследив за ребрами между экранами, вы сможете понять, как робот перемещался по приложению во время сканирования.
Время ожидания автоматизированного тестирования
В зависимости от сложности интерфейса приложения автоматизированное тестирование может занять пять минут или больше. Для большинства приложений рекомендуется установить время ожидания не менее 120 секунд (2 минут), а для приложений средней сложности – 300 секунд (5 минут). По умолчанию время ожидания составляет 300 секунд (5 минут) для тестов, запущенных из Android Studio и консоли Firebase, и 900 секунд (15 минут) для тестов, запущенных из командной строки gcloud.
Ошибки, связанные с превышением времени ожидания при запуске приложения
Если приложение запускается слишком долго, автоматизированное тестирование может выдать ошибку и не просканировать его. Это происходит только в случае очень долгого запуска. Чтобы решить проблему, необходимо ускорить запуск приложения.
Больше контроля с помощью робот-скриптов
Иногда вам может потребоваться больше контроля над тестированием. Например, вы можете протестировать распространенный путь пользователя или указать определенные входные данные пользовательского интерфейса, такие как имя пользователя и пароль. В этом вам помогут робот-скрипты. Подробнее о скриптах автоматизированного тестирования рассказывается в статьях Как запустить скрипт автоматизированного тестирования и Справочное руководство по скриптам автоматизированного тестирования.
Автоматизированное тестирование и виджеты интерфейса, не относящиеся к Android
Автоматизированное тестирование использует Android API для выполнения действий непосредственно с виджетами пользовательского интерфейса Android. Это позволяет автоматически исследовать интерфейс, но также означает, что для запуска тестов на экране необходимо иметь возможность извлечь иерархию интерфейса Android.
Если на экране приложения не используются виджеты интерфейса Android, для тестирования этого экрана автоматизированные тесты используют действия Monkey. В отличие от более методичных действий робота, действия обезьяны просто имитируют нажатия в полуслучайных местах на экране устройства.
Чтобы протестировать экраны, на которых не используются виджеты Android, можно заменить произвольные нажатия Monkey Action на набор нажатий и взаимодействий, заданных в скрипте, с помощью тестов игрового цикла Firebase Test Lab.
Интеграция с Google Play
Вы можете использовать автоматизированное тестирование в Google Play Console, когда загружаете и публикуете APK-файл приложения в альфа- или бета-канале. Автоматизированное тестирование выполняется на нескольких популярных физических устройствах из разных географических местоположений, что позволяет проверить работу приложения на устройствах с разными типами устройств и аппаратными конфигурациями. Подробнее о том, как выявить проблемы с помощью отчета о тестировании…
Вход в тестовый аккаунт и ввод заранее заданного текста
Автоматизированное тестирование поддерживает вход в тестовый аккаунт, а также позволяет вводить заранее заданный текст в поля приложения. Для входа в аккаунт и ввода другого заранее заданного текста автоматизированное тестирование может вводить текст в поля EditText в вашем приложении. Для каждой строки необходимо указать поле EditText, используя название ресурса Android. Подробнее о доступе к ресурсам…
Вход
В автоматизированном тестировании есть два взаимоисключающих метода поддержки входа:
Специальный вход. Если вы предоставляете учетные данные тестового аккаунта, вам нужно указать, где их вводить, и предоставить эти данные.
Автоматический вход. Если вы не предоставите учетные данные тестового аккаунта для входа, будет использоваться автоматический вход. Автоматизированное тестирование может автоматически входить в приложения, созданные со стандартными виджетами Android или приложениями Compose, используя тестовый аккаунт Google.
Чтобы предоставить учетные данные тестового аккаунта для входа, выполните следующие действия:
На странице Выбор параметров нажмите Дополнительные настройки.
В разделе Учетные данные тестового аккаунта (необязательно) введите названия ресурсов имени пользователя и пароля, а также имя пользователя и пароль для тестового аккаунта.
Поле ввода со стандартным текстом
Вы можете указать текст для других полей, используемых в приложении. Для этого выполните следующие действия:
На странице Выбор параметров нажмите Дополнительные настройки.
В разделе Дополнительные поля (необязательно) введите одно или несколько названий ресурсов и строки, которые нужно ввести в соответствующие текстовые поля.
Ошибки в стандартном текстовом вводе {:#predefined-text}
Автоматизированное тестирование ищет поля EditText с названием ресурса Android, которое соответствует заданному регулярному выражению. Если Robo не найдет подходящее поле, он не будет вводить текст, но продолжит сканирование в обычном режиме.
Ссылки на контент
Вы можете указать до трех ссылок на контент, поддерживаемых вашим приложением, для тестирования.
Ссылки на контент передаются в приложение как объекты ACTION_VIEW Android. Поэтому каждая ссылка должна соответствовать фильтру интентов в приложении.
Если указана одна или несколько ссылок на контент, приложение сначала запускается в обычном режиме (с использованием намерения ACTION_MAIN) и сканируется до истечения заданного времени ожидания. После основного сканирования каждая ссылка на контент сканируется в течение дополнительных 30 секунд.
Ошибки ссылок на контент
Если автоматизированное тестирование не находит действие, соответствующее ссылке на контент, Test Lab игнорирует ссылку. Проблемы со ссылками на контент обычно возникают из-за несоответствия между предоставленной ссылкой и ее определением в приложении. Проверьте URL и приложение на наличие опечаток и других несоответствий.
Поддержка лицензирования приложений
Test Lab поддерживает приложения, в которых используется сервис лицензирования приложений от Google Play. Чтобы успешно проверить лицензирование при тестировании приложения с помощью Test Lab, необходимо опубликовать приложение в рабочем канале в Google Play. Чтобы протестировать приложение в альфа- или бета-канале с помощью Test Lab, удалите проверку лицензии перед загрузкой приложения в Test Lab.
Дальнейшие действия
- Настройте тесты с помощью скриптов Robo.