Функция автоматизированного тестирования находится в стадии предварительной версии . На предварительную версию не распространяются никакие соглашения об уровне обслуживания (SLA) или политика устаревания, и она может получать ограниченную или вообще никакую поддержку. В период предварительной версии действуют тарифы Test Lab . Мы стремимся к прозрачному ценообразованию для функции автоматизированного тестирования и поделимся всеми подробностями до того, как она станет общедоступной.
В этом руководстве описано, как автоматически тестировать ваше приложение с помощью функции автоматического тестирования App Distribution в консоли Firebase . Автоматический тестер выполняет выборочное сканирование вашего приложения и сообщает о любых обнаруженных проблемах.
Если вам нужно тестирование с использованием ИИ, обратитесь к агенту тестирования приложений .
Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой Android-проект .
Если вы не используете другие продукты Firebase, вам нужно всего лишь создать проект и зарегистрировать приложение. Однако, если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги, описанные в разделе «Добавление Firebase с помощью консоли Firebase .
Когда вы будете готовы распространить предварительную версию своего приложения среди тестировщиков, соберите APK-файл, используя обычный процесс. Вам необходимо подписать APK-файл с помощью ключа отладки или ключа подписи приложения.
Распространите свое приложение на автоматизированных тестировщиков с помощью консоли Firebase.
Функция автоматического тестирования теперь встроена в агент тестирования приложений . Чтобы использовать её, запустите тест в консоли Firebase и выберите «Случайное сканирование».
Распространите свое приложение в автоматизированном тестировании с помощью Firebase CLI.
Выполните команду appdistribution:distribute , чтобы загрузить ваше приложение и распространить его среди тестировщиков. Используйте следующие параметры для настройки распространения приложения в рамках функции автоматического тестирования:
| appdistribution:distribute options | |
|---|---|
--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-username-resource | Имя ресурса для поля имени пользователя, используемого для автоматического входа в систему во время автоматизированных тестов . |
--test-password-resource | Имя ресурса для поля пароля, используемого для автоматического входа в систему во время автоматизированных тестов . |
--test-non-blocking | Запускайте автоматизированные тесты асинхронно. Результаты автоматических тестов можно посмотреть в консоли Firebase. |
Для получения дополнительной информации о начале работы с Firebase CLI и различных способах настройки дистрибутива см. раздел «Распространение приложений Android среди тестировщиков с помощью Firebase CLI» .
Распространите ваше приложение на автоматизированных тестировщиков с помощью 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 | Имя пользователя для автоматического входа в систему, используемое во время автоматизированных тестов . |
testUsernameResource | Имя ресурса для поля имени пользователя, используемого для автоматического входа в систему во время автоматизированных тестов . |
testPassword или testPasswordFile | Пароль для автоматического входа в систему, используемый во время автоматизированных тестов . Или же вы можете указать путь к текстовому файлу, содержащему пароль: testPasswordFile="/path/to/testPassword.txt" |
testPasswordResource | Имя ресурса для поля пароля, используемого для автоматического входа в систему во время автоматизированных тестов . |
testNonBlocking | Запускайте автоматизированные тесты асинхронно. Результаты автоматических тестов можно посмотреть в консоли Firebase. |
Для получения дополнительной информации о начале работы с Gradle и различных способах настройки дистрибутива см. раздел «Распространение приложений Android среди тестировщиков с помощью Gradle» .
Распространите свое приложение среди автоматизированных тестировщиков с помощью 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_username_resource | Имя ресурса для поля имени пользователя, используемого для автоматического входа в систему во время автоматизированных тестов . |
test_password_resource | Имя ресурса для поля пароля, используемого для автоматического входа в систему во время автоматизированных тестов . |
test_non_blocking | Запускайте автоматизированные тесты асинхронно. Результаты автоматических тестов можно посмотреть в консоли Firebase. |
Для получения дополнительной информации о начале работы с fastlane и различных способах настройки распространения см. раздел «Распространение приложений Android среди тестировщиков с помощью fastlane» .
Статусы автоматического сканирования тестов
Для облегчения интерпретации результатов тестирования вкладка « Результаты автоматизированного тестирования» отображает все выявленные проблемы, снимки экрана приложения и видеозапись процесса тестирования для каждого устройства. Статус теста можно найти на странице результатов тестирования:
| Статус ползания | Описание |
|---|---|
| В ожидании | Автоматическая проверка все еще выполняется, и результаты будут доступны в ближайшее время. |
| Прошедший | Автоматический тест успешно просканировал ваше приложение и не обнаружил никаких сбоев. |
| Неуспешный | Автоматический тест не прошёл, потому что ваше приложение аварийно завершило работу во время тестирования. |
| Неубедительный результат | Автоматическое тестирование не удалось из-за ошибок инфраструктуры. |