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

В этом документе описывается использование скриптов Robo — тестов, автоматизирующих ручные задачи обеспечения качества мобильных приложений и реализующих стратегии непрерывной интеграции (CI) и тестирования перед запуском. Например, скрипты Robo можно использовать для тестирования стандартного пользовательского пути или предоставления определённых данных пользовательского интерфейса (UI), таких как имя пользователя и пароль. Скрипты 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 начнет сканирование тестируемого приложения или после завершения сканирования, например, очистите данные тестируемого приложения перед сканированием или измените настройки устройства.
  • Измените аспекты поведения Robo во время ползания, в частности:
    • Заставьте Robo игнорировать некоторые виджеты пользовательского интерфейса или экраны приложений.
    • Предоставьте Robo пользовательское действие, которое он будет выполнять при возврате с определенного экрана.
    • Заставьте Robo выполнять определенные действия при каждом обнаружении определенного экрана приложения во время сканирования.
  • Полностью настройте, как Robo выполняет сканирование. Например, используйте комбинацию условных и безусловных действий, чтобы тестируемое приложение работало в фоновом режиме на протяжении всего сканирования, выполняя манипуляции с устройством и закрывая все всплывающие диалоговые окна, появляющиеся в процессе.

Имейте в виду, что скрипты Robo не заменяют все виды тестов. Вам по-прежнему необходимы модульные тесты для выявления низкоуровневых логических ошибок в вашем приложении; для этих тестов обычно не требуется среда Android или iOS. Мы рекомендуем дополнять тесты скриптов Robo целевыми инструментальными тестами, которые могут содержать конкретные, подробные утверждения о бизнес-логике, которые лучше всего выражаются в коде.

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