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