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

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

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

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