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

В этом документе описывается, как использовать сценарии 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:

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

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

  3. Нажмите «Записать скрипт Robo ». Появится диалоговое окно «Выбор цели развертывания».

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

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

  6. Откройте страницу «Тестовая лаборатория» в консоли Firebase и загрузите файл сценария JSON и APK-файл приложения.

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

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

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

Запустите скрипт Robo в тестовой лаборатории.

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

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

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

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

Предоставьте сценарий 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 в локальной файловой системе или в облачном хранилище, используя нотацию gs:// . Например:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

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