Путешествия для Android Studio

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

Journeys for Android Studio.
Journeys for Android Studio.

А поскольку Gemini анализирует, какие действия следует выполнить для достижения целей, сценарии взаимодействия с приложением становятся более устойчивыми к незначительным изменениям в его структуре или поведении, что приводит к меньшему количеству нестабильных тестов при запуске на разных версиях приложения и с разными конфигурациями устройств.

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

Напишите о путешествии

Android Studio предоставляет шаблоны файлов и новый интерфейс редактора, упрощающие создание и редактирование сценариев взаимодействия с пользователем. Сценарии взаимодействия пишутся с использованием синтаксиса XML для организации описания сценария и шагов.

Редактор маршрута в Android Studio, демонстрирующий XML-файл с шагами маршрута.

Чтобы создать и начать редактировать маршрут, выполните следующие действия:

  1. В панели «Проект» в Android Studio щелкните правой кнопкой мыши по модулю приложения, для которого вы хотите написать сценарий взаимодействия (journey).
  2. Выберите «Создать» > «Тест» > «Файл путешествия» .
  3. В появившемся диалоговом окне укажите название и описание вашей поездки.

    Диалоговое окно в Android Studio, используемое для создания файла маршрута.
    Диалоговое окно в Android Studio, используемое для создания файла маршрута.

  4. Нажмите «Готово» . Android Studio создаст XML-файл для вашего проекта с выбранным вами именем. Вы можете использовать либо режим «Код» для непосредственного редактирования XML-файла, либо режим «Дизайн» для упрощенного редактирования.

  5. При просмотре вашего пути в режиме проектирования используйте текстовое поле для описания каждого шага вашего пути. Каждый шаг может включать в себя действия, которые вы хотите, чтобы Gemini выполнил, или утверждения, которые вы хотите, чтобы Gemini оценил.

  6. Нажмите клавишу Enter на клавиатуре, чтобы начать новый шаг в том же процессе. Вы можете повторять это по мере необходимости для каждого шага процесса, который хотите определить.

Советы для писательских путешествий

Хотя ИИ способен понимать большинство шагов, написанных на поддерживаемых языках, следование этим советам по написанию сценариев может привести к более точным и ожидаемым результатам:

  • Предположим, ваше приложение уже находится на переднем плане: запуск сценария автоматически запускает ваше приложение. Этапы вашего сценария должны начинаться после полного запуска приложения. То есть, вам не нужно включать шаг «запустить приложение».
  • Используйте однозначные формулировки: точность сводит к минимуму неверные толкования и повышает надежность.
Вместо Сделайте это.
"Нажмите кнопку закрытия" Нажмите «Отклонить» или просто «Отклонить».
"Введите 'сельдерей'" «Введите слово „сельдерей“ в строку поиска в верхней части главного экрана».
"Проведите пальцем, чтобы закрыть" «Проведите пальцем влево, чтобы закрыть, после чего карточка больше не должна быть видна».
  • Включите критерии успеха в качестве части шага: это поможет Близнецам лучше понять ваше намерение и прояснит, когда действие завершено и можно начинать следующее.
Вместо Сделайте это.
"Нажмите кнопку отправки" «Отправьте письмо, нажав кнопку «Отправить». Это закроет письмо и вернет вас в папку «Входящие».»
"Перейти к корзине покупок" «Нажмите на значок корзины, чтобы перейти на страницу корзины. Убедитесь, что в ней нет товаров».
"Нажмите на первое видео" «Нажмите на первое видео и дождитесь его полной загрузки».
  • Уточните свой маршрут: если ваш маршрут не выполняется должным образом, вы можете просмотреть результаты и изучить раздел «Предпринятые действия» и соответствующее «Обоснование», чтобы понять, почему Gemini мог не выполнить шаги так, как вы ожидали. Используйте эту информацию для большей ясности ваших инструкций.
  • Разбейте свой путь на более конкретные этапы: хотя ИИ может интерпретировать этапы, состоящие из нескольких действий, иногда более детальные отдельные шаги могут повысить точность и воспроизводимость процесса.
    • "Ошибка: Не удалось успешно завершить действие после максимально допустимого количества попыток" : Если вы столкнулись с этой ошибкой, попробуйте разбить неудачно завершившиеся шаги на два или более более мелких шага. Это связано с тем, что эта ошибка возникает, если ИИ не может завершить действие после попытки максимального количества взаимодействий с вашим приложением.

Поддерживаемые и неподдерживаемые возможности

Ниже приведён обзор поддерживаемых и пока не полностью поддерживаемых возможностей при написании сценариев взаимодействия. Приведённые ниже списки не являются исчерпывающими.

В рамках поездок поддерживаются следующие действия:

  • Нажмите на элементы пользовательского интерфейса.
  • Введите текст в текстовые поля.
  • Для навигации по пользовательскому интерфейсу используйте жесты смахивания/прокрутки в определенном направлении.

Следующие возможности в настоящее время не поддерживаются в полной мере или могут работать нестабильно:

  • Жесты несколькими пальцами (например, масштабирование с помощью щипка) — взаимодействия, требующие одновременного контакта с двумя или более точками на экране, такие как масштабирование с помощью щипка или смахивание двумя пальцами.
  • Длительное нажатие — нажатие и удержание пальца в течение времени, превышающего стандартное касание.
  • Двойное касание — быстрое касание одного и того же места на экране дважды подряд.
  • Поворот/складывание экрана — обработка изменений ориентации устройства (например, между портретной и альбомной ориентацией) или физического состояния складных устройств (например, открытие или закрытие).
  • Память — сохранение и воспроизведение конкретной информации, контекста или пользовательского ввода на протяжении предыдущих взаимодействий или этапов.
  • Подсчет — точное отслеживание количества, частоты или прогресса.
  • Условные операторы — выполнение действий в зависимости от выполнения других указанных условий.

Функционал и возможности постоянно улучшаются. Мы рекомендуем заглянуть на эту страницу позже, чтобы узнать о дополнительных функциях и возможностях. Чтобы помочь нам улучшить Journeys, поделитесь своим мнением .

Продолжите свое путешествие

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

Чтобы проверить работу программы, выполните следующие действия:

  1. Выберите целевое устройство на главной панели инструментов, как при проведении инструментального тестирования.
  2. Перейдите к XML-файлу процесса тестирования и откройте его в редакторе.
  3. В редакторе выполните одно из следующих действий:
    1. Если вы находитесь в режиме проектирования , нажмите Беговое путешествие .
    2. Если вы находитесь в режиме просмотра кода , нажмите Выполните команду 'test' в боковой панели рядом с местом, где в XML-файле определено название маршрута.

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

Панель результатов тестирования маршрута в Android Studio, отображающая подробности шага и обоснование Gemini.
Панель результатов тестирования маршрута в Android Studio, отображающая подробную информацию о каждом шаге и обоснование действий Gemini.

Запускайте маршруты с использованием любого предустановленного приложения.

Вы можете запустить тестовое приложение, предустановленное на вашем тестовом устройстве. Это полезно, если вы хотите протестировать рабочую версию своего приложения или если вы еще не обновили свое приложение до Android Gradle Plugin 9.0.0 или выше.

  1. Откройте или создайте новый проект , обновленный до версии Android Gradle Plugin 9.0.0 или выше.
  2. Напишите рассказ о путешествии .
  3. Отредактируйте конфигурацию запуска для путешествия и добавьте следующие переменные среды. Конфигурация запуска создается автоматически при попытке запустить путешествие из Android Studio.
    • JOURNEYS_CUSTOM_APP_ID задает идентификатор пакета целевого приложения.
  4. Запустите отредактированный вами сценарий. 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.
Панель результатов тестирования маршрута в Android Studio, отображающая подробную информацию о каждом шаге и обоснование действий Gemini.

По сравнению с другими инструментальными тестами, которые вы можете запускать в Android Studio, существуют некоторые отличия в способе отображения результатов для тестовых поездок.

  • В панели «Тесты» процесс разбит на отдельные этапы. Вы можете щелкнуть по каждому этапу, чтобы узнать больше информации о том, как Gemini его выполнил.
  • В панели «Результаты» отображается подробная информация, которая поможет вам понять, как Gemini рассуждал о вашем путешествии и как оно было реализовано.
    • Скриншоты, отправленные в Gemini, отображаются для наглядности на каждом этапе выполнения действия.
    • Каждое предпринятое действие и обоснование компанией Gemini причин его совершения описаны рядом с каждым скриншотом.
    • Каждое действие на этом этапе пронумеровано.

Известные проблемы

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