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