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

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

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

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

Запишите скрипт для робота с помощью Test Lab в Android Studio.

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

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

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

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

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

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

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

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

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

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

Запустите скрипт робота в Test Lab

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

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

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

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

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

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

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

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

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

Чтобы указать скрипт 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>

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