Агент тестирования приложений (Android)

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

Как агент тестирования приложений использует ваши данные

Агент тестирования приложений предоставляется Gemini в Firebase и регулируется теми же условиями. Дополнительную информацию о том, как Gemini в Firebase использует ваши данные, см. в разделе «Как Gemini в Firebase использует ваши данные».

Прежде чем начать

Если вы еще этого не сделали, зарегистрируйте свое приложение в Firebase .

Если вы не используете какие-либо другие продукты Firebase, вам нужно только создать проект и зарегистрировать свое приложение. Вам не нужно добавлять какие-либо SDK в ваше приложение. Однако, если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги, описанные в разделе «Добавление Firebase», с помощью консоли Firebase .

Когда вы будете готовы распространить предварительную версию своего приложения среди тестировщиков, создайте APK или AAB, используя обычный процесс, и загрузите его в раздел App Distribution в консоли Firebase . Вы должны подписать APK с помощью ключа отладки или ключа подписи приложения.

Создайте тестовый пример

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

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

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

  1. На вкладке «Тестовые наборы» нажмите «Новый тестовый набор» . Если вы не хотите создавать собственный тестовый пример, вы можете изменить или использовать предоставленный пример тестового сценария .
  2. В диалоговом окне «Добавить тестовый набор» дайте тестовому набору имя. Он используется для идентификации теста, но игнорируется агентом.
  3. Рассмотрите возможность разбить тест на несколько этапов, нажав кнопку «Добавить еще один шаг» .
  4. Дайте каждому шагу цель , описывающую, что агент тестирования приложений должен делать на этом этапе.
  5. (Необязательно) Добавьте подсказку , чтобы предоставить дополнительную информацию, которая поможет агенту тестирования приложений понять ваше приложение и ориентироваться в нем на этом этапе.
  6. (Необязательно) Добавьте критерии успеха , чтобы помочь агенту тестирования приложений определить, когда этот шаг был успешно завершен.
  7. Нажмите «Сохранить», как только вы закончите настройку теста.

Пример тестового примера

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

Тестирование главной страницы
Название теста

Домашняя страница загружается

Цель

Загрузите домашнюю страницу

Намекать

Пройдите мимо любых экранов адаптации. Закройте все всплывающие окна. Не входите в систему.

Критерии успеха

Главная домашняя страница приложения видна на экране, все изображения загружены, ошибок не отображается.

Запустить тест

Агент тестирования приложений позволяет запускать тесты под управлением искусственного интеллекта в консоли, нажав кнопку « Выполнить тесты» на странице «Релизы» или «Тестовые сценарии». Откроется экран настройки агента тестирования приложений, где вы можете выбрать один или несколько существующих тестовых случаев для выполнения агентом. Вы также можете выбрать устройства, на которых хотите провести тестирование, и указать, нужно ли предоставлять какие-либо учетные данные для входа.

Вы также можете запустить тест случайного сканирования , изменив тип теста. Случайные тесты сканирования используют функцию автоматического тестировщика .

Результаты тестов можно просмотреть на странице «Релизы» на вкладке «Агент тестирования приложений» выпуска. Кнопка «Просмотреть подробности» откроет диалоговое окно «Результаты теста» и покажет все проблемы, снимки экрана приложения и действия, предпринятые Gemini во время теста.

Автоматически тестируйте свои сборки

Чтобы автоматически запускать тесты агента тестирования приложений в ваших новых сборках, например, из конвейеров CI/CD, вы можете распространять свои сборки агенту с помощью плагинов Gradle или fastlane App Distribution или интерфейса командной строки Firebase.

Чтобы использовать функцию агента тестирования приложений, необходимо указать хотя бы одно тестовое устройство и один идентификатор тестового набора. Идентификаторы тестовых случаев можно найти и загрузить на странице «Тестовые сценарии» консоли Firebase . Дополнительную информацию о начале работы с Firebase CLI и различных способах настройки дистрибутива см. в разделе Распространение приложений Android среди тестировщиков с помощью Firebase CLI .

Запустите команду appdistribution:distribute , чтобы загрузить приложение, и используйте следующие параметры, чтобы настроить дистрибутив для функции агента тестирования приложений:

appdistribution: параметры распространения
--test-devices или --test-devices-file

Тестовые устройства, сборки которых вы хотите распространить для функции агента тестирования приложений.

Вы можете указать тестовые устройства в виде списка тестовых устройств, разделенных точкой с запятой:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Или вы можете указать путь к текстовому файлу, содержащему список тестовых устройств, разделенных точкой с запятой:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

Имя пользователя для автоматического входа в систему, которое будет использоваться во время тестов.

--test-password или --test-password-file

Пароль для автоматического входа в систему, который будет использоваться во время тестов.

Или вы можете указать путь к текстовому файлу, содержащему пароль:

--test-password-file: "/path/to/test-password.txt"
--test-non-blocking

Запускайте тесты асинхронно. Посетите консоль Firebase, чтобы увидеть результаты автоматического тестирования.

--test-case-ids или --test-case-ids-file

Список идентификаторов тестовых наборов, разделенных запятыми, для запуска автоматических тестов на основе искусственного интеллекта:

--test-case-ids: "load-app,play-the-first-level"

Или вы можете указать путь к обычному текстовому файлу, содержащему разделенный запятыми или новой строкой список идентификаторов тестовых случаев:

--test-case-ids-file: "/path/to/test-case-ids.txt"

Чтобы использовать функцию агента тестирования приложений, необходимо указать хотя бы одно тестовое устройство и один идентификатор тестового набора. Идентификаторы тестовых случаев можно найти и загрузить на странице «Тестовые сценарии» консоли Firebase . Дополнительные сведения о начале работы с Gradle и различных способах настройки дистрибутива см. в разделе Распространение приложений Android среди тестировщиков с помощью Gradle .

Вы можете настроить App Distribution , добавив хотя бы один раздел firebaseAppDistribution и используя следующие параметры для настройки распространения для функции агента тестирования приложений:

Параметры сборки App Distribution
testDevices или testDevicesFile

Тестовые устройства, сборки которых вы хотите распространить для функции агента тестирования приложений.

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

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Или вы можете указать путь к файлу, содержащему список спецификаций устройства, разделенных точкой с запятой:

testDevicesFile="/path/to/testDevices.txt"
testUsername

Имя пользователя для автоматического входа в систему, которое будет использоваться во время тестов.

testPassword или testPasswordFile

Пароль для автоматического входа в систему, который будет использоваться во время тестов.

Или вы можете указать путь к текстовому файлу, содержащему пароль:

testPasswordFile="/path/to/testPassword.txt"
testNonBlocking

Запускайте тесты асинхронно. Посетите консоль FIrebase для получения результатов автоматического теста.

testCases или testCasesFile

Список идентификаторов тестовых наборов, разделенных запятыми, для запуска автоматических тестов на основе искусственного интеллекта:

testCases: "load-app,play-the-first-level"

Или вы можете указать путь к обычному текстовому файлу, содержащему разделенный запятыми или новой строкой список идентификаторов тестовых случаев:

testCasesFile: "/path/to/test-case-ids.txt"

Чтобы использовать функцию агента тестирования приложений, необходимо указать хотя бы одно тестовое устройство и один идентификатор тестового набора. Идентификаторы тестовых случаев можно найти и загрузить на странице «Тестовые сценарии» консоли Firebase . Дополнительные сведения о начале работы с fastlane и различных способах настройки дистрибутива см. в разделе Распространение приложений Android среди тестировщиков с помощью fastlane .

На дорожке ./fastlane/Fastfile добавьте блок firebase_app_distribution . Используйте следующие параметры, чтобы настроить дистрибутив для функции агента тестирования приложений:

параметры firebase_app_distribution
test_devices или test_devices_file

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

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Или вы можете указать путь к текстовому файлу, содержащему список тестовых устройств, разделенных точкой с запятой:

test_devices_file: "/path/to/test-devices.txt"
test_username

Имя пользователя для автоматического входа в систему, которое будет использоваться во время тестов.

test_password или test_password_file

Пароль для автоматического входа в систему, который будет использоваться во время тестов.

Или вы можете указать путь к текстовому файлу, содержащему пароль:

test_password_file: "/path/to/test-password.txt"
test_non_blocking

Запускайте тесты асинхронно. Посетите консоль Firebase, чтобы увидеть результаты автоматического тестирования.

--test_case_ids или --test_case_ids_file

Список идентификаторов тестовых наборов, разделенных запятыми, для запуска автоматических тестов на основе искусственного интеллекта:

--test_case_ids: "load-app,play-the-first-level"

Или вы можете указать путь к обычному текстовому файлу, содержащему разделенный запятыми или новой строкой список идентификаторов тестовых случаев:

--test_case_ids_file: "/path/to/test-case-ids.txt"

Отладка результатов теста

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

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

Известные проблемы и ограничения

Предварительная версия агента тестирования приложений имеет некоторые известные ограничения:

  • Поскольку агент тестирования приложений использует генеративный искусственный интеллект для тестирования вашего приложения, он иногда выполняет разные действия, следуя тем же инструкциям.
  • Агент тестирования приложений поддерживает только следующие действия: касание, ввод текста, прокрутка вверх, прокрутка вниз и ожидание.
  • Агенту тестирования приложений не удается выполнить тесты, содержащие только один шаг, для выполнения которого требуется множество действий. Он работает лучше, когда сложные задачи разбиваются на несколько более коротких шагов.
  • Агент тестирования приложений иногда не выполняет прокрутку, чтобы отобразить другие элементы за пределами экрана. Это происходит чаще, когда нет визуальной индикации возможности прокрутки. В качестве обходного пути можно использовать поле «подсказки», предлагающее прокрутку.
  • У агента тестирования приложений иногда возникают проблемы с подсчетом, например, при выполнении действия определенное количество раз.

Тестирование квот

Во время предварительной версии тесты под управлением ИИ будут предлагаться бесплатно в пределах квоты. Ограничение квоты по умолчанию составляет 100 тестов в месяц.

Обратите внимание: если вы решите запустить несколько тестовых примеров или запустить один и тот же тестовый пример на нескольких устройствах, это считается несколькими тестами. Например, если вы запускаете 2 тестовых случая на 2 устройствах, это считается в общей сложности 4 тестами.

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