В этом документе описывается, как использовать автоматизированное тестирование – тесты, которые автоматизируют ручные задачи по контролю качества мобильных приложений и позволяют использовать стратегии непрерывной интеграции и тестирования перед запуском. Например, с помощью скриптов Robo можно протестировать стандартный путь пользователя или ввод определенных данных в пользовательском интерфейсе, таких как имя пользователя и пароль. Скрипты Robo – это функция автоматизированного тестирования.
В качестве механизма тестирования в скриптах Robo используется автоматизированное тестирование. В простейшем случае скрипт Robo состоит из последовательности действий в интерфейсе, например ввести текст "имя пользователя", а затем нажать кнопку "ОК". В скрипты автоматизированного тестирования можно включать такие действия, как ожидание появления элемента, нажатие на определенную точку в элементе и выполнение команд оболочки Android Debug Bridge (adb).
У скриптов автоматизированного тестирования есть следующие преимущества перед традиционными фреймворками:
| Возможности | Описание |
| Высокая надежность | Робо-скрипты могут выдерживать значительные структурные и поведенческие различия между версиями приложения и его нестабильностью. |
| Открытые | После завершения скрипта автоматизированного тестирования базовый тест может продолжить проверку приложения. Такой подход позволяет реализовать несколько ключевых сценариев использования. Например, с помощью скрипта Robo можно перевести приложение в определенное состояние, выполнив специальную процедуру входа. |
| Записываемый | Вам не нужно писать код для автоматизированного тестирования вручную. Их можно записать с помощью регистратора скриптов Robo в Android Studio. Для создания и изменения скриптов Robo не требуются знания в области мобильной разработки. |
| Гибкая среда | Робо-скрипты могут взаимодействовать с ненативными элементами интерфейса, которые часто встречаются в играх. |
Скрипты Robo запускаются при определенных условиях во время автоматизированного тестирования, что позволяет пользователям расширять возможности Robo, как правило, для достижения большего охвата или нацеливания на определенные функции. В отличие от традиционных фреймворков для тестирования, Robo-скрипты поддерживают следующие возможности:
- Различные условия активации, например активность (или неактивность) определенного пакета приложения или показ (или отсутствие показа) определенного элемента на экране.
- Элементы управления выполнением, например максимальное количество выполнений, приоритет, этап сканирования.
- Нестандартные типы действий (условные, игнорирующие элементы, закрывающие экран).
Мы рекомендуем по возможности использовать робот-скрипты, поскольку их легко поддерживать. Например, с помощью скрипта автоматизированного тестирования можно:
- Выполните основные рабочие процессы, чтобы добраться до основных функций приложения. Например, вы можете выполнить вход, настроить состояние приложения после первого запуска и зарегистрировать нового пользователя.
- Чтобы максимально эффективно использовать время автоматизированного тестирования, сосредоточьтесь на определенной части приложения. Скрипт направляет автоматизированное тестирование к нужной части приложения, где оно возобновляет полностью автоматическое сканирование.
- Переведите приложение в определенное состояние или откройте нужный экран, чтобы выполнить анализ, например проверить сообщение в приложении, политику конфиденциальности или определенный уровень игры.
- Выполните сквозной инструментальный тест с автоматизированным тестированием или без него, возобновив полностью автоматическое сканирование после завершения скрипта автоматизированного тестирования.
Вы можете использовать расширенные функции робот-скриптов, чтобы:
- Выполнять действия до начала автоматизированного тестирования или после его завершения, например очищать данные тестируемого приложения или менять настройки устройства.
- Измените поведение робота во время сканирования, в частности:
- Настройте игнорирование некоторых виджетов интерфейса или экранов приложения.
- Укажите настраиваемое действие, которое автоматизированное тестирование должно выполнить при возврате с определенного экрана.
- Настройте выполнение определенных действий при обнаружении заданного экрана приложения во время сканирования.
- Полностью настройте сканирование роботом. Например, вы можете использовать сочетание условных и безусловных действий, чтобы тестируемое приложение оставалось в фоновом режиме на протяжении всего сканирования, а также выполнять манипуляции с устройством и закрывать все всплывающие диалоговые окна, которые появляются в процессе.
Помните, что автоматизированное тестирование не заменяет все виды тестирования. Вам по-прежнему нужны модульные тесты, чтобы выявлять ошибки логики низкого уровня в приложении. Для таких тестов обычно не требуется среда Android или iOS. Рекомендуем дополнять тесты Robo-скриптов целевыми инструментальными тестами, которые могут содержать конкретные подробные утверждения о бизнес-логике, лучше всего выраженные в коде.
Дальнейшие действия
Подробнее о структуре, возможностях, использовании и действиях робо-скриптов рассказывается в справочном руководстве.