Как запустить скрипт автоматизированного тестирования (Android)

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

С помощью скриптов Robo вы можете записать, как вы выполняете определенные действия в приложении, а затем загрузить запись в консоль Firebase, чтобы использовать ее в тестах 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 не заменяют все виды тестирования. Вам по-прежнему нужны модульные тесты, чтобы выявлять ошибки в логике приложения на низком уровне. Обычно для таких тестов не требуется среда Android или iOS. Мы рекомендуем дополнять тесты Robo скриптами целевых инструментальных тестов, которые могут содержать конкретные подробные утверждения о бизнес-логике, лучше всего выражаемые в коде.

Как записать скрипт Robo с помощью Test Lab в Android Studio

Записывать скрипты Robo в Android Studio можно, взаимодействуя с приложением на устройстве. Чтобы начать работу со скриптами Robo с помощью инструмента Firebase в Android Studio, выполните следующие инструкции:

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

  2. На панели Firebase нажмите Record Robo Script and Use it to Guide Robo Test (Записать скрипт Robo и использовать его для тестирования Robo).

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

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

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

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

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

  8. Чтобы скопировать или скачать logcat отчета о тестировании и видео, нажмите Посмотреть исходные файлы.

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

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

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

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

  2. Загрузите APK-файл или набор Android App Bundle в поле APK или AAB приложения.

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

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

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

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

Замените <robo-script-path> путем к файлу скрипта 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>

Дальнейшие действия