Вы можете распространять сборки среди тестировщиков с помощью Firebase CLI. С помощью инструмента 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Токен обновления, который выводится при аутентификации среды CI с помощью интерфейса командной строки Firebase (подробнее о том, как использовать интерфейс командной строки с системами CI …).
--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.Если у вас много тестировщиков, рекомендуем использовать группы. Вы можете создавать и удалять группы в проекте Firebase с помощью
appdistribution:group:createиappdistribution:group:delete.Используйте
--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.