Запустите скрипт Robo (Android)

В этом документе описывается, как использовать скрипты Robo , которые являются тестами, автоматизирующими ручные задачи QA для мобильных приложений и обеспечивающими непрерывную интеграцию (CI) и стратегии тестирования перед запуском. Например, вы можете использовать скрипты Robo для тестирования общего пользовательского пути или предоставления определенного ввода пользовательского интерфейса (UI), например имени пользователя и пароля. Скрипты Robo являются функцией теста Robo .

С помощью скриптов Robo вы записываете себя, проходящего через рабочий процесс в вашем приложении, затем загружаете эту запись в консоль Firebase для запуска в тестах Robo. Когда вы запускаете тест Robo с прикрепленным скриптом, Robo сначала проходит через ваши предварительно заданные действия, а затем исследует приложение как обычно.

Скрипты Robo используют Robo test в качестве тестового движка. В своей самой простой форме скрипт Robo состоит из последовательности действий пользовательского интерфейса, таких как ввод текста «имя пользователя» и последующее нажатие кнопки OK . Скрипты Robo также могут включать такие действия, как ожидание появления элемента, нажатие в определенной точке внутри элемента и выполнение команд оболочки Android Debug Bridge ( adb ).

Скрипты Robo имеют следующие преимущества по сравнению с традиционными фреймворками тестирования:

Возможности Описание
Очень прочный Скрипты Robo допускают значительные структурные и поведенческие различия между версиями приложений, а также нестабильность приложений.
Открытый После завершения скрипта Robo базовый тест Robo может взять на себя управление и продолжить тестирование приложения. Такой подход к непрерывному тестированию позволяет реализовать несколько ключевых вариантов использования. Например, вы можете использовать скрипт Robo, чтобы перевести приложение в определенное состояние, выполнив пользовательский поток входа.
Записываемый Вам не нужно вручную кодировать скрипты Robo. Их можно записать с помощью средства записи скриптов Robo в Android Studio. Создание или изменение скриптов Robo обычно не требует никаких знаний в области мобильной разработки.
Гибкий Скрипты Robo могут взаимодействовать с неродными элементами пользовательского интерфейса, которые часто встречаются в играх.

Скрипты Robo условно запускаются во время теста Robo, что позволяет пользователям дополнять поведение Robo — обычно для достижения большего покрытия или целевой функциональности. В отличие от традиционных фреймворков тестирования, скрипты Robo поддерживают следующее:

  • Различные условия срабатывания, например, активное (или неактивное) имя пакета приложения или отображение на экране определенного элемента (или его отсутствие).
  • Управление выполнением, например, максимальное количество выполнений, приоритет, соответствующий этап сканирования.
  • Нестандартные типы действий (условные, игнорирование элементов, закрытие экрана).

Мы рекомендуем вам использовать скрипты Robo, когда это возможно, поскольку их можно поддерживать без усилий. Например, вы можете использовать скрипт 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:

  1. Откройте Android Studio и выберите Инструменты -> Firebase .

  2. На панели Firebase нажмите «Записать скрипт Robo и использовать его для руководства тестом Robo» .

  3. Нажмите Record Robo script . Появится диалоговое окно Select Deployment Target.

  4. Выберите устройство, на которое вы хотите записать скрипт Robo.

  5. После записи скрипта Robo на устройство сохраните файл как JSON в нужном месте.

  6. Откройте страницу Test Lab в консоли Firebase и загрузите файл скрипта JSON и APK приложения.

  7. Нажмите кнопку Continue . Вам будет предложено выбрать устройство и уровень API. После завершения тестового скрипта Test Lab сгенерирует тестовый отчет.

  8. (Необязательно) Чтобы скопировать или загрузить лог-файл отчета об испытаниях и видео, нажмите «Просмотреть исходные файлы» .

По умолчанию механизмы надежности скрипта Robo предотвращают его ранний сбой. Если вы выбираете режим strict выполнения и скрипт Robo дает сбой в какой-либо момент, Test Lab отменяет все дальнейшие шаги в скрипте и возобновляет обычный обход Robo. Чаще всего скрипты Robo дают сбой, потому что Robo не может найти требуемый элемент на экране. Чтобы избежать сбоев, убедитесь, что навигация по вашему приложению предсказуема и что ваши экраны отображаются в определенном порядке.

Запустить скрипт Robo в Test Lab

Чтобы запустить скрипт Robo в Test Lab , следуйте этим инструкциям:

  1. Откройте страницу Test Lab в консоли Firebase .

  2. Загрузите APK или AAB приложения в поле APK или AAB приложения .

  3. Загрузите записанный или созданный вручную файл сценария Robo в поле «Сценарий Robo» (необязательно) .

Предоставьте скрипт Robo для локального тестового запуска Robo

Чтобы предоставить сценарий Robo для локального тестового запуска Robo, используйте следующую опцию теста Robo:

--robo-script-file <robo-script-path>

Замените <robo-script-path> на путь к файлу скрипта Robo в локальной файловой системе. Следуйте инструкциям для локального тестового запуска Robo .

Укажите скрипт Robo в тестовом вызове gcloud CLI

Чтобы указать скрипт Robo в тестовом вызове gcloud CLI, используйте следующий флаг gcloud CLI:

--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>

Следующие шаги