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

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

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

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

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

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

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

  1. На панели «Проект» в Android Studio щелкните правой кнопкой мыши модуль приложения, для которого вы хотите написать путешествие.
  2. Выберите Создать > Тест > Файл поездки .
  3. В появившемся диалоговом окне укажите название и описание вашего путешествия.
  4. Нажмите «ОК» . Android Studio создаст XML-файл для вашего путешествия с выбранным вами именем. Вы можете использовать представление «Код» для непосредственного редактирования XML-файла или представление «Дизайн» для более удобного редактирования.
  5. При просмотре вашего путешествия в режиме «Конструктор» используйте текстовое поле для описания каждого его этапа. Каждый этап может включать в себя описание действий, которые Gemini должен выполнить, или утверждения, которые Gemini должен оценить.
  6. Нажмите клавишу Enter на клавиатуре, чтобы начать новый запрос в том же маршруте. Вы можете повторять это действие по мере необходимости для каждого этапа маршрута, который вы хотите определить.

Советы по написанию путешествий

Подробное и организованное описание ваших действий может повысить вероятность того, что Gemini точно выполнит ваши запланированные действия более детерминированным образом. Вот несколько советов, которые помогут вам писать ваши действия более эффективно: * Отделяйте утверждения от действий: Gemini постоянно оценивает состояние вашего приложения, чтобы определить, находится ли оно в «правильном» состоянии для продолжения выполнения действия. Однако вам может потребоваться определить более сложные утверждения как отдельный шаг. Кроме того, начинайте каждое сообщение с ключевых фраз, таких как «Проверьте, что», «Утвердите, что» или «Проверьте, что», чтобы Gemini знал, что этот шаг подразумевает утверждение. * Управление Gemini с помощью свайпов: Помимо базовых взаимодействий, таких как касание или ввод с клавиатуры, Gemini поддерживает действия, требующие проведения по экрану в определённых направлениях. Например, чтобы прокрутить содержимое или закрыть элемент пользовательского интерфейса, просто опишите направление и цель вашего свайпа. По умолчанию Gemini выполняет свайп от центра экрана, но вы можете настроить его для свайпа в другой части экрана устройства. * Избегайте сложных взаимодействий и изменений конфигурации: в настоящее время Gemini поддерживает не все взаимодействия и изменения конфигурации, такие как жесты несколькими пальцами, повороты экрана и сворачивание. Команда работает над улучшением возможностей Gemini.

Проложи свой путь

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

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

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

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

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

Посмотреть результаты

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

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

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

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

  • При тестировании поездки все разрешения для вашего приложения предоставляются по умолчанию.
  • При тестировании приложения на устройстве под управлением Android 15 (уровень API 35) может появиться предупреждение «Небезопасное приложение заблокировано» для «AndroidX Crawler». Вы можете нажать «Установить в любом случае» , чтобы обойти эту проверку. Кроме того, вы можете настроить параметры разработчика на устройстве и отключить функцию «Проверка приложений через USB» .
  • Файлы маршрутов в настоящее время не отображаются в представлении Android на панели «Проекты» . Чтобы просмотреть файлы маршрутов в вашем проекте, используйте представление «Проект» .
  • Если несколько действий в рамках одного путешествия используют один и тот же запрос, результаты теста, отображаемые в редакторе путешествий, могут быть неверными. В частности, для всех действий с дублирующимся запросом будут отображаться результаты теста, связанные с последним обновлённым экземпляром этого запроса. Чтобы обойти эту проблему, убедитесь, что каждое действие имеет уникальный запрос, например, добавив отдельный префикс или суффикс.
  • При второй загрузке клавиатуры в новый эмулятор появляется всплывающее окно со стилусом. Это окно обычно приводит к сбою тестов, взаимодействующих с текстовыми полями. В этом случае закройте всплывающее окно и повторите попытку.
  • Артефакты поискового робота приложения могут иногда появляться в обоснованиях агента.
  • Выполнение Journey иногда завершается ошибкой IllegalStateException . В этом случае вы можете нажать на ссылку «Результаты теста», чтобы увидеть полный текст ошибки.
  • Если плагин Android Gradle ( com.android.application ) не определен в файле build.gradle верхнего уровня, при запуске путешествия вы можете увидеть следующую ошибку:

    Failed to apply plugin class 'com.android.tools.journeys.JourneysGradlePlugin'
    

    Чтобы решить эту проблему, убедитесь, что плагин определён в файле build.gradle верхнего уровня. Подробнее см. в разделе «Настройка системы сборки Android» .