Запустите скрипт 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 целевыми инструментальными тестами, которые могут содержать конкретные, подробные утверждения о бизнес-логике, которые лучше всего выражаются в коде.
Следующие шаги
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-15 UTC.
[null,null,["Последнее обновление: 2025-08-15 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis document describes how to use *Robo scripts* , which are tests that automate\nmanual QA tasks for mobile apps, and enable continuous integration (CI) and\npre-launch testing strategies. For example, you can use Robo scripts to test a\ncommon user journey or provide specific user interface (UI) input, like a\nusername and password. Robo scripts are a feature of [Robo\ntest](/docs/test-lab/ios/robo-ux-test).\n\nRobo scripts use [Robo test](/docs/test-lab/android/robo-ux-test)\nas the test engine. In its most basic form, a Robo script consists of a\nsequence of UI actions like *enter text 'username'* and\nthen *tap the OK button* . Robo scripts can also include actions like waiting\nfor an element to appear, tapping at a specific point within an element, and\nexecuting Android Debug Bridge (`adb`) shell commands.\n\nRobo scripts have the following advantages over traditional testing frameworks:\n\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Capability** | **Description** |\n| Highly robust | Robo scripts can tolerate significant structural and behavioral differences between app versions and app flakiness. |\n| Open-ended | After a Robo script completes, the base Robo test can take over and continue testing the app. This continued testing approach enables several key use cases. For example, you can use a Robo script to bring an app into a particular state by performing a custom sign-in flow. |\n| Recordable | You don't need to code Robo scripts manually. They can be recorded using the Robo script recorder in Android Studio. Creating or modifying Robo scripts typically doesn't require any knowledge of mobile development. |\n| Flexible | Robo scripts can interact with non-native UI elements that are common in games. |\n\nRobo scripts are conditionally triggered during a Robo test, which lets users\naugment Robo's behavior - typically to achieve greater coverage or target\nspecific functionality. In contrast to traditional testing frameworks,\nRobo scripts support the following:\n\n- Various triggering conditions, for example, a particular app package name being active (or not) or a specific element being displayed on the screen (or not).\n- Execution controls, for example, a maximum number of executions, priority, relevant crawl stage.\n- Unconventional action types (conditional, element-ignoring, screen-closing).\n\nWe recommend that you use Robo scripts whenever possible because they can be\nmaintained effortlessly. For example, you can use a Robo script to do the\nfollowing:\n\n- Navigate significant workflows to get to the core of an app's functionality. For example, you can perform a sign-in, set up an app's state after the first launch, and register a new user.\n- Focus Robo on a particular part of an app to get the most out of Robo test time. Robo script guides Robo test to reach the relevant part of an app, where Robo test resumes a fully automated crawl.\n- Bring an app into a specific state or screen to perform an analysis, for example, to analyze an in-app message, privacy policy, or specific level of a game.\n- Perform an end-to-end instrumentation test, with or without Robo test resuming a fully automated crawl after the Robo script is complete.\n\nUse more advanced Robo script features to do the following:\n\n- Perform actions before Robo starts crawling the app-under-test or after a crawl is finished, for example, clean the app-under-test data before a crawl, or change device settings.\n- Change aspects of Robo behavior during a crawl, in particular:\n - Make Robo ignore some UI widgets or app screens.\n - Provide a custom action for Robo to perform when backtracking from a particular screen.\n - Make Robo perform specific actions whenever a particular app screen is encountered during a crawl.\n- Completely customize how Robo performs a crawl. For example, use a combination of conditional and non-conditional actions to keep the app-under-test in the background throughout the crawl, while performing device manipulations and dismissing any popup dialogs that appear along the way.\n\nKeep in mind that Robo scripts don't replace all kinds of tests. You still\nneed unit tests to catch low-level logic bugs in your app; these tests\ntypically don't require an Android or iOS environment. We recommend that you\nsupplement Robo script tests with targeted instrumentation tests that can have\nspecific, detailed assertions about business logic, which are best expressed\nin code.\n\nNext steps\n\n- To learn about Robo scripts structure, capabilities, usage, and actions, see\n the [Robo scripts reference guide](/docs/test-lab/android/robo-scripts-reference#ios-support-for-robo-scripts).\n\n- [Run a Robo test](/docs/test-lab/ios/robo-ux-test)."]]