Journeys для Android Studio использует возможности ИИ в области зрения и рассуждений для навигации и тестирования вашего приложения на основе инструкций на естественном языке. Ваш набор инструкций, называемый путешествием, преобразуется в действия, которые ИИ выполняет в вашем приложении. Кроме того, вы можете писать и описывать более сложные утверждения, которые ИИ оценивает на основе того, что видит на устройстве.

А поскольку Gemini анализирует, какие действия следует выполнить для достижения целей, пути пользователя становятся более устойчивыми к незначительным изменениям в макете или поведении вашего приложения, что приводит к уменьшению количества нестабильных тестов при запуске с различными версиями вашего приложения и различными конфигурациями устройств.
Вы можете писать и запускать путешествия прямо из Android Studio или из командной строки на любом локальном или удалённом устройстве Android. IDE предоставляет новый редактор для создания путешествий, а также подробные результаты, которые помогут вам лучше понимать, как Gemini обдумывает и реализует ваше путешествие.
Напишите путешествие
Android Studio предоставляет шаблон файла и новый редактор, упрощающий создание и редактирование путешествий. Путешествия пишутся с использованием синтаксиса XML для организации описания и этапов путешествия.

Чтобы создать и начать редактировать путешествие, выполните следующие действия:
- На панели «Проект» в Android Studio щелкните правой кнопкой мыши модуль приложения, для которого вы хотите написать путешествие.
- Выберите Создать > Тест > Файл поездки .
В появившемся диалоговом окне укажите название и описание вашего путешествия.

Диалоговое окно в Android Studio, которое используется для создания файла путешествия. Нажмите «Готово» . Android Studio создаст XML-файл для вашего путешествия с выбранным вами именем. Вы можете использовать представление «Код» для непосредственного редактирования XML-файла или представление «Дизайн» для упрощения процесса редактирования.
При просмотре вашего путешествия в режиме «Конструктор» используйте текстовое поле для описания каждого его этапа. Каждый этап может включать в себя описание действий, которые Gemini должен выполнить, или утверждения, которые Gemini должен оценить.
Нажмите клавишу Enter на клавиатуре, чтобы начать новый этап того же пути. Вы можете повторять это действие столько раз, сколько необходимо для каждого этапа пути, который вы хотите определить.
Советы по написанию путешествий
Хотя ИИ способен понимать большинство шагов, написанных на поддерживаемых языках, следование этим советам по написанию путешествий может привести к более точным и ожидаемым результатам:
- Предположим, что ваше приложение уже запущено: запуск Journey автоматически запускает ваше приложение. Этапы вашего путешествия должны начинаться после полного запуска приложения. То есть вам не нужно добавлять «запуск приложения» в качестве шага.
- Используйте недвусмысленный язык: точность сводит к минимуму неверное толкование и повышает надежность.
| Вместо | Сделай это |
|---|---|
| «Нажмите кнопку «Отклонить»» | «Нажмите «Отклонить»» или просто «Отклонить» |
| «Введите «сельдерей»» | «Введите «сельдерей» в строке поиска в верхней части главного экрана». |
| «Проведите пальцем, чтобы закрыть» | «Проведите пальцем влево, чтобы закрыть карту. После этого она больше не будет видна». |
- Включите критерии успеха в каждый шаг: это поможет Близнецам лучше понять ваши намерения и прояснит момент завершения действия и возможности начать следующее.
| Вместо | Сделай это |
|---|---|
| «Нажмите кнопку отправки» | «Отправьте электронное письмо, нажав кнопку «Отправить». Это должно закрыть письмо и вернуть вас в папку «Входящие». |
| «Перейти в корзину» | Нажмите на значок корзины, чтобы перейти на её страницу. Убедитесь, что она не содержит ни одного товара. |
| «Нажмите на первое видео» | «Нажмите на первое видео и дождитесь его полной загрузки» |
- Уточните свой маршрут: если ваш маршрут не выполняется так, как ожидалось, вы можете просмотреть результаты и проверить раздел «Выполненные действия» и соответствующее «Обоснование», чтобы понять, почему Gemini, возможно, не выполнила шаги так, как вы ожидали. Используйте эту информацию, чтобы внести дополнительную ясность в свои инструкции.
- Разбейте свой путь на более конкретные шаги: хотя ИИ может интерпретировать многоэтапные шаги, иногда более детальные дискретные шаги могут повысить точность и воспроизводимость пути.
- «Ошибка: Не удалось успешно завершить действие за максимально допустимое количество попыток» : если вы столкнулись с этой ошибкой, попробуйте разбить невыполненные шаги на два или более меньших. Это связано с тем, что эта ошибка возникает, если ИИ не может завершить действие после максимального количества попыток взаимодействия с вашим приложением.
Поддерживаемые и неподдерживаемые возможности
Ниже представлен обзор поддерживаемых и пока не полностью поддерживаемых возможностей при написании путешествий. Приведённый ниже список не является исчерпывающим.
В поездках поддерживаются следующие действия:
- Нажмите на элементы пользовательского интерфейса.
- Введите текст в текстовые поля.
- Для навигации по пользовательскому интерфейсу проведите пальцем/прокрутите в определенном направлении.
Следующие возможности в настоящее время поддерживаются не полностью или могут работать нестабильно:
- Жесты с несколькими пальцами (например, сведение или разведение пальцев для изменения масштаба) — взаимодействия, требующие одновременного контакта двух или более точек на экране, например сведение или разведение пальцев для изменения масштаба или смахивание двумя пальцами.
- Длительное нажатие — нажатие и удерживание пальца в течение времени, превышающего стандартное нажатие.
- Двойное нажатие — быстрое нажатие одного и того же места на экране два раза подряд.
- Поворот/складывание экрана — обработка изменений ориентации устройства (например, между книжной и альбомной ориентацией) или физического состояния складных устройств (например, открытие или закрытие).
- Память — сохранение и воспроизведение определенной информации, контекста или вводимых пользователем данных в ходе предыдущих взаимодействий или шагов.
- Подсчет — точное отслеживание количества, частоты или прогресса.
- Условные операторы — выполнение действий в зависимости от соблюдения других указанных условий.
Функции и возможности постоянно совершенствуются. Рекомендуем вам заглянуть на эту страницу позже, чтобы узнать о дополнительных функциях и возможностях. Чтобы помочь нам улучшить Journeys, поделитесь своим отзывом .
Проложи свой путь
Вы можете запустить свое путешествие на любом доступном локальном или удаленном устройстве, как и любой другой инструментальный тест, а Android Studio генерирует подробные результаты, которые помогут вам понять ход выполнения вашего путешествия.
Чтобы протестировать поездку, выполните следующие действия:
- Выберите целевое устройство на главной панели инструментов, как при запуске инструментального теста.
- Перейдите к XML-файлу путешествия, который вы хотите протестировать, и откройте его в редакторе.
- В редакторе выполните одно из следующих действий:
- Если вы находитесь в представлении «Дизайн» , нажмите
Запустите Путешествие . - Если вы находитесь в представлении кода , нажмите
Запустите «тест» в поле рядом с тем местом, где в XML определено название поездки.
- Если вы находитесь в представлении «Дизайн» , нажмите
Android Studio создаёт для вас конфигурацию теста Journeys и запускает её на целевом устройстве. Во время выполнения Android Studio собирает и развёртывает ваше приложение, а также подключается к Gemini, чтобы определить, какие действия необходимо выполнить на каждом этапе вашего путешествия.

Запускайте поездки с использованием любого предустановленного приложения
Вы можете запустить путешествие с предустановленным приложением на тестовом устройстве. Это полезно, если вы хотите протестировать рабочую версию приложения или если вы ещё не обновили приложение до версии Android Gradle Plugin 9.0.0 или выше.
- Откройте или создайте новый проект , обновленный до Android Gradle Plugin 9.0.0 или выше.
- Напишите путешествие .
- Отредактируйте конфигурацию запуска для путешествия и добавьте следующие переменные среды. Конфигурация запуска создаётся автоматически при попытке запустить путешествие из Android Studio.
-
JOURNEYS_CUSTOM_APP_IDустанавливает идентификатор пакета целевого приложения.
-
- Запустите отредактированный вами маршрут. Android Studio должна выполнить шаги маршрута в указанном вами целевом приложении.
Запустите путешествие из командной строки
Вы также можете запустить Journey из командной строки как задачу Gradle.
Настраивать
Для использования Journeys из командной строки вам потребуется пройти аутентификацию в Google Cloud.
Примечание: В этих шагах для предоставления учётных данных пользователя используется интерфейс командной строки gcloud, что может быть не применимо ко всем средам разработки. Подробнее о том, какой процесс аутентификации использовать в вашем случае, см. в статье «Как работают учётные данные приложения по умолчанию» .
Чтобы установить Google Cloud CLI, следуйте инструкциям в разделе Установка gcloud CLI .
Для учетных данных пользователя
Вы можете выполнить авторизацию вручную, используя следующую команду терминала:
gcloud auth application-default login
Для учетных данных сервисной учетной записи
Если вы еще этого не сделали, следуйте руководству по созданию учетных данных сервисной учетной записи для вашего проекта.
- Убедитесь, что API учетных данных службы IAM включен для проекта, в котором вы создали ключи учетной записи службы.
- Убедитесь, что у вашего администратора и вашей учетной записи службы есть разрешение
Service Account Token Creator.
Для аутентификации выполните следующую команду:
gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL
Запустить как задачу Gradle
Запустите Journeys, выполнив задачу Gradle непосредственно в командной строке. После выполнения задачи результаты теста появятся в журналах, а также будут созданы файлы результатов теста в форматах HTML и XML.
Чтобы запустить все путешествия Вы можете запустить все путешествия в тестовом наборе с помощью следующей команды.
./gradlew :app:testJourneysTestDefaultDebugTestSuite
Чтобы запустить одну поездку, используйте фильтр JOURNEYS_FILTER , чтобы указать название поездки, которую вы хотите запустить, следующим образом:
JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite
Чтобы запустить все маршруты в подкаталоге, укажите в качестве значения фильтра JOURNEYS_FILTER имя подкаталога. Например, следующая команда запускает все маршруты в home подкаталоге корневого каталога набора тестов.
JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite
Посмотреть результаты
Когда Android Studio завершит тестирование вашего путешествия, панель с результатами теста появится автоматически.

По сравнению с другими инструментированными тестами, которые вы можете запустить в Android Studio, существуют некоторые различия в отображении результатов поездок.
- Панель «Тесты» разбивает путь на отдельные этапы. Вы можете нажать на каждый этап, чтобы узнать больше о том, как Gemini его выполнил.
- Панель результатов отображает подробную информацию, которая поможет вам понять, как Gemini поняла и обосновала ваше путешествие, и как оно было реализовано.
- Скриншоты, отправленные в Gemini, показаны для наглядности на каждом этапе действия.
- Рядом с каждым снимком экрана описывается каждое выполненное действие и обоснование Gemini, побудившее его выполнить.
- Каждое действие на шаге пронумеровано.
Известные проблемы
- При тестировании поездки все разрешения для вашего приложения предоставляются по умолчанию.
- При тестировании приложения на устройстве под управлением Android 15 (уровень API 35) может появиться предупреждение « Небезопасное приложение заблокировано » для « AndroidX Crawler ». Вы можете нажать «Установить в любом случае », чтобы обойти эту проверку. Кроме того, можно настроить параметры разработчика на устройстве и отключить функцию «Проверка приложений через USB» .