Вы можете распространять сборки среди тестировщиков с помощью CLI Firebase. Инструмент CLI позволяет указать тестировщиков и примечания к выпуску для сборки и распространить ее соответствующим образом.
Подготовка
Если вы ещё этого не сделали, добавьте Firebase в проект Apple.
Если вы не используете другие продукты Firebase, вам нужно только создать проект и зарегистрировать приложение. Однако если вы решите использовать дополнительные продукты в будущем, обязательно выполните все шаги, описанные на странице по ссылке выше.
Откройте страницу App Distribution в консоли Firebase. Выберите проект Firebase, затем выберите приложение с помощью переключателя приложений и нажмите Начать.
1. Как распространять приложение среди тестировщиков
Чтобы распространить приложение среди тестировщиков, загрузите IPA-файл с помощью интерфейса командной строки Firebase.
- Установите или обновите до последней версии Firebase CLI (рекомендуем скачать отдельный двоичный файл для CLI, соответствующий вашей ОС). Войдите в аккаунт и убедитесь, что у вас есть доступ к проектам.
-
Выполните команду
appdistribution:distribute, чтобы загрузить приложение и распространить его среди тестировщиков. Для настройки распределения используйте следующие параметры:appdistribution:distribute options --appОбязательно. Идентификатор приложения Firebase. Идентификатор приложения можно найти в консоли Firebase на странице Общие настройки.
--app 1:1234567890:ios:0a1b2c3d4e5f67890
--tokenТокен обновления, который выводится при аутентификации среды непрерывной интеграции с помощью CLI Firebase. Подробнее о том, как использовать CLI с системами непрерывной интеграции …
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileПримечания к выпуску для этой сборки.
Вы можете указать примечания к выпуску напрямую:
--release-notes "Text of release notes"
Или укажите путь к текстовому файлу:
--release-notes-file "/path/to/release-notes.txt"
--testers
--testers-fileАдреса электронной почты тестировщиков, которых вы хотите пригласить.
Вы можете указать тестировщиков в виде списка адресов электронной почты, разделенных запятыми:
--testers "ali@example.com, bri@example.com, cal@example.com"
Вы также можете указать путь к файлу обычного текста, содержащему список адресов электронной почты, разделенных запятыми:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileГруппы тестировщиков, которых вы хотите пригласить (см. раздел Управление тестировщиками). Группы указываются с помощью
псевдонимов , которые можно найти в консоли Firebase.Вы можете указать группы в виде списка, разделенного запятыми:
--groups "qa-team, trusted-testers"
Вы также можете указать путь к файлу обычного текста, содержащему список названий групп, разделенных запятыми:
--groups-file "/path/to/groups.txt"
--debugФлаг, который можно включить, чтобы напечатать подробный вывод журнала.
--test-devices
--test-devices-fileТестовые устройства, на которых вы хотите запустить тесты агента тестирования приложений.
Вы можете указать тестовые устройства в виде списка характеристик устройств, разделенных точкой с запятой:
--test-devices: "model=shiba,version=34,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. Если этот флаг не установлен, команда будет заблокирована до завершения тестов и завершится с кодом ошибки, если какой-либо из тестов не удастся.
--results-bucketСпециальный сегмент Google Cloud Storage (GCS), в котором хранятся результаты тестирования. Если оставить поле пустым, будет использоваться сегмент по умолчанию. Сегмент должен принадлежать проекту, для которого включена оплата. При указании сегмента взимается плата за используемое хранилище.
Пример:
firebase appdistribution:distribute test.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtПосле загрузки выпуска интерфейс командной строки Firebase выведет следующие ссылки: Эти ссылки помогают управлять двоичными файлами и гарантируют, что у тестировщиков и других разработчиков будет правильный выпуск:
firebase_console_uri– ссылка на консоль Firebase, в которой показан один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.testing_uri– ссылка на выпуск в веб-клипе iOS, которая позволяет тестировщикам просматривать примечания к выпуску и устанавливать приложение на свои устройства. Чтобы воспользоваться ссылкой, тестировщику нужен доступ к выпуску.binary_download_uri– подписанная ссылка, которая напрямую скачивает и устанавливает двоичный файл приложения (файл IPA). Ссылка действительна в течение часа.
Управление тестировщиками и группами
Помимо распространения выпусков, вы также можете использовать
appdistribution:testers:addиappdistribution:testers:remove, чтобы приглашать новых тестировщиков или удалять существующих из проекта Firebase.После того как тестировщик будет добавлен в проект Firebase, вы сможете добавлять его в отдельные выпуски. После этого он потеряет доступ к выпускам в вашем проекте. Обратите внимание, что у недавно удаленных тестировщиков может сохраняться доступ к вашим выпускам в течение некоторого времени.
Пример:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comАдреса электронной почты тестировщиков должны быть разделены пробелом. Вы также можете указать тестировщиков с помощью
--file /path/to/testers.txt.Если у вас много тестировщиков, рекомендуем использовать группы. Вы можете использовать
appdistribution:group:createиappdistribution:group:delete, чтобы создавать или удалять группы в проекте Firebase.Используйте
--group-alias, чтобы указать группу для командappdistribution:testers:addиappdistribution:testers:remove.Пример:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
После распространения сборка будет доступна на панели управления App Distribution в консоли Firebase в течение 150 дней (пяти месяцев). За 30 дней до истечения срока действия сборки в консоли и в списке сборок на тестовом устройстве появится уведомление.
Тестировщики, которые ещё не были приглашены, получат приглашения по электронной почте, а существующие тестировщики получат уведомления о том, что новая сборка готова к тестированию. Подробнее о том, как установить тестовое приложение… В консоли Firebase можно отслеживать статус каждого тестировщика: принял ли он приглашение и скачал ли приложение.
Принять приглашение можно в течение 30 дней. За пять дней до истечения срока действия приглашения в консоли Firebase рядом с именем тестировщика появляется уведомление. Чтобы продлить приглашение, отправьте его повторно, используя раскрывающееся меню в строке тестировщика.
Дальнейшие действия
Чтобы зарегистрировать больше устройств вручную или программно, ознакомьтесь с разделом Как зарегистрировать дополнительные iOS-устройства.
Ознакомьтесь с рекомендациями по распространению приложений Apple среди тестировщиков с помощью CI/CD и fastlane.