В этом документе описывается, как использовать сценарии Robo , которые представляют собой тесты, которые автоматизируют ручные задачи контроля качества для мобильных приложений и обеспечивают стратегии непрерывной интеграции (CI) и тестирования перед запуском. Например, вы можете использовать сценарии Robo для тестирования обычного пути пользователя или предоставления определенных входных данных пользовательского интерфейса (UI), таких как имя пользователя и пароль. Робо-скрипты — это функция Робо-теста .
С помощью сценариев Robo вы записываете свое выполнение рабочего процесса в своем приложении, а затем загружаете эту запись в консоль Firebase для запуска тестов Robo. Когда вы запускаете тест Robo с прикрепленным сценарием, Robo сначала выполняет заранее заданные вами действия, а затем исследует приложение как обычно.
В скриптах Robo в качестве механизма тестирования используется Robo-тест . В своей самой базовой форме скрипт Robo состоит из последовательности действий пользовательского интерфейса, таких как ввод текста «имя пользователя» и последующее нажатие кнопки «ОК» . Робо-скрипты также могут включать в себя такие действия, как ожидание появления элемента, нажатие на определенную точку внутри элемента и выполнение команд оболочки Android Debug Bridge ( adb
).
Робо-скрипты имеют следующие преимущества перед традиционными средами тестирования:
Возможность | Описание |
Очень прочный | Робо-скрипты могут допускать значительные структурные и поведенческие различия между версиями приложений, а также их нестабильность. |
Открытый | После завершения сценария Robo базовый тест Robo может продолжить тестирование приложения. Такой подход к непрерывному тестированию позволяет реализовать несколько ключевых сценариев использования. Например, вы можете использовать скрипт Robo, чтобы перевести приложение в определенное состояние, выполнив настраиваемый процесс входа. |
записываемый | Вам не нужно вручную писать сценарии Robo. Их можно записать с помощью средства записи сценариев Robo в Android Studio. Создание или изменение сценариев Robo обычно не требует каких-либо знаний в области мобильной разработки. |
Гибкий | Робо-скрипты могут взаимодействовать с неродными элементами пользовательского интерфейса, которые часто встречаются в играх. |
Сценарии Robo условно запускаются во время теста Robo, что позволяет пользователям дополнять поведение Robo — обычно для достижения большего охвата или целевой функциональности. В отличие от традиционных платформ тестирования, сценарии Robo поддерживают следующее:
- Различные условия срабатывания, например, активное (или нет) определенное имя пакета приложения или отображение определенного элемента на экране (или нет).
- Управление выполнением, например, максимальное количество выполнений, приоритет, соответствующий этап сканирования.
- Нестандартные типы действий (условные, игнорирование элементов, закрытие экрана).
Мы рекомендуем вам использовать сценарии Robo, когда это возможно, поскольку их легко поддерживать. Например, вы можете использовать скрипт Robo, чтобы сделать следующее:
- Перемещайтесь по важным рабочим процессам, чтобы понять суть функциональности приложения. Например, вы можете выполнить вход, настроить состояние приложения после первого запуска и зарегистрировать нового пользователя.
- Сосредоточьте Robo на определенной части приложения, чтобы максимально эффективно использовать время тестирования Robo. Сценарий Robo направляет Robo-тест к соответствующей части приложения, где Robo-тест возобновляет полностью автоматическое сканирование.
- Переведите приложение в определенное состояние или на экран для выполнения анализа, например, для анализа сообщения в приложении, политики конфиденциальности или определенного уровня игры.
- Выполните комплексное инструментальное тестирование с роботизированным тестом или без него, возобновляя полностью автоматическое сканирование после завершения роботизированного сценария.
Используйте более продвинутые функции Robo-скрипта, чтобы выполнить следующие действия:
- Выполняйте действия до того, как Robo начнет сканирование тестируемого приложения или после его завершения, например очистите данные тестируемого приложения перед сканированием или измените настройки устройства.
- Измените аспекты поведения робота во время сканирования, в частности:
- Заставьте Robo игнорировать некоторые виджеты пользовательского интерфейса или экраны приложений.
- Предоставьте настраиваемое действие, которое робот будет выполнять при возврате с определенного экрана.
- Заставьте Robo выполнять определенные действия всякий раз, когда во время сканирования встречается определенный экран приложения.
- Полностью настройте способ сканирования роботом. Например, используйте комбинацию условных и безусловных действий, чтобы тестируемое приложение оставалось в фоновом режиме на протяжении всего сканирования, одновременно выполняя манипуляции с устройством и закрывая любые всплывающие диалоговые окна, которые появляются по пути.
Имейте в виду, что роботизированные сценарии не заменяют все виды тестов. Вам по-прежнему нужны модульные тесты, чтобы выявить низкоуровневые логические ошибки в вашем приложении; эти тесты обычно не требуют среды Android или iOS. Мы рекомендуем дополнять тесты Robo-скриптов целевыми инструментальными тестами, которые могут содержать конкретные, подробные утверждения о бизнес-логике, которые лучше всего выражаются в коде.
Запишите скрипт Robo с помощью Test Lab в Android Studio.
Средство записи сценариев Robo в Android Studio позволяет записывать сценарии Robo, напрямую взаимодействуя с приложением на вашем устройстве. Следуйте этим инструкциям, чтобы начать писать сценарии Robo с помощью инструмента Firebase в Android Studio:
Откройте Android Studio и выберите Инструменты -> Firebase .
На панели Firebase нажмите «Записать сценарий робота и использовать его для руководства тестом робота» .
Нажмите «Записать скрипт Robo» . Появится диалоговое окно «Выбор цели развертывания».
Выберите устройство, на которое вы хотите записать сценарий Робо.
После записи сценария Robo на устройстве сохраните файл в формате JSON в нужном месте.
Откройте страницу Test Lab в консоли Firebase и загрузите файл сценария JSON и APK-файл приложения.
Нажмите кнопку Продолжить . Вам будет предложено выбрать устройство и уровень API. После завершения сценария тестирования Test Lab создает отчет о тестировании.
(Необязательно) Чтобы скопировать или загрузить лог-код отчета об испытаниях и видео, нажмите «Просмотреть исходные файлы» .
По умолчанию механизмы надежности сценария Robo предотвращают его преждевременный сбой. Если вы выберете strict
режим выполнения и в какой-либо момент сценарий Robo завершится сбоем, Test Lab откажется от всех дальнейших шагов сценария и возобновит обычное сканирование Robo. Чаще всего Robo-скрипты терпят неудачу, потому что Robo не может найти нужный элемент на экране. Чтобы избежать сбоев, убедитесь, что навигация вашего приложения предсказуема и что ваши экраны отображаются в детерминированном порядке.
Запустите скрипт Robo в Test Lab
Чтобы запустить скрипт Robo в Test Lab , следуйте этим инструкциям:
Откройте страницу Test Lab в консоли Firebase .
Загрузите APK или AAB приложения в поле App APK или AAB .
Загрузите записанный или созданный вручную файл сценария Робо в поле сценария Робо (необязательно) .
Предоставьте сценарий Robo для локального тестового запуска Robo.
Чтобы предоставить сценарий Robo для локального запуска теста Robo, используйте следующий параметр теста Robo:
--robo-script-file <robo-script-path>
Замените <robo-script-path>
путем к файлу сценария Robo в локальной файловой системе. Следуйте инструкциям по локальному тестовому запуску робота .
Укажите сценарий Robo в тестовом вызове CLI gcloud.
Чтобы указать скрипт Robo в тестовом вызове CLI gcloud, используйте следующий флаг CLI gcloud:
--robo-script = <robo-script-path>
Замените <robo-script-path>
путем к файлу сценария Robo в локальной файловой системе или в Cloud Storage используя нотацию gs://
. Например:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Следующие шаги
- Дополнительную информацию о структуре, возможностях, использовании и действиях сценариев Robo см. в справочном руководстве по сценариям Robo .
- Запустите роботизированный тест .