Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Начните работу с Firebase Test Lab из командной строки gcloud

Firebase Test Lab позволяет тестировать приложение iOS на нескольких устройствах через интерфейс командной строки gcloud . Продолжайте читать, чтобы узнать, как начать.

Создать проект Firebase

Если у вас нет проекта Firebase для вашего приложения, перейдите в консоль Firebase и нажмите « Создать новый проект», чтобы создать его сейчас. Вам потребуются права владения или редактирования в вашем проекте.

В плане Spark вы можете использовать Test Lab для ограниченного количества ежедневных тестов. Чтобы использовать Test Lab без дневных ограничений квоты, вам необходимо перейти на план Firebase Blaze.

Настройте локальную среду Google Cloud SDK

  1. Загрузите Google Cloud SDK.
  2. Сюда входит инструмент командной строки gcloud.

  3. Убедитесь, что ваша установка обновлена ​​и включает команду gcloud firebase :
          gcloud components update
  4. Войдите в интерфейс командной строки gcloud, используя свою учетную запись Google:
          gcloud auth login
  5. Установите свой проект Firebase в gcloud, где PROJECT_ID - это идентификатор вашего проекта Firebase:
         gcloud config set project PROJECT_ID

Создавайте XCTests для своего приложения

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

проект

xcodebuild -project PATH/TO/YOUR_WORKSPACE.xcodeproj \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

Рабочее пространство

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

После успешной сборки теста заархивируйте его для загрузки в Test Lab:

cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \
zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun

Проведите свои тесты

Выберите размер теста

Test Lab позволяет запускать тесты на различных версиях iOS, устройствах, ориентациях экрана и регионах. Эти конфигурации известны как размеры теста . Чтобы увидеть параметры для каждого измерения, заменяющие models , versions или locales для dimension в следующей команде:

gcloud firebase test ios dimension list

Ориентация экрана несколько проще, так как его только варианты portrait и landscape .

Просмотрите список параметров теста и выберите несколько комбинаций, на которых вы хотите провести тест. Если вы используете план Spark, вы можете запускать до 5 комбинаций в день. Если вы используете план Blaze, вы можете запускать тесты для неограниченного количества комбинаций в день, но вы можете включать только до 200 комбинаций в каждый запуск. Для получения дополнительной информации об ограничениях тестирования и ценах см. Ценовые планы .

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

После того, как вы выбрали набор параметров тестирования, вы можете запустить тесты Test Lab с помощью команды firebase test ios run . Для каждой комбинации параметров теста, которую вы хотите протестировать, --device отдельный флаг --device :

gcloud firebase test ios run --test PATH/TO/MyTests.zip \
  --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
  --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \
  etc...

Возможно, что ваш тест завершится неудачно из-за несовместимости между версией Xcode, с которой был создан тест, и версией Xcode по умолчанию, используемой Test Lab. Чтобы выбрать версию Xcode для тестов, используйте флаг --xcode-version :

gcloud firebase test ios run --test PATH/TO/MyTests.zip \
  --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
  --xcode-version=11.3

Проанализируйте результаты ваших тестов

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

Автоматизируйте будущие тесты

Создание сценариев команд gcloud с помощью Test Lab

Вы можете использовать сценарии оболочки или пакетные файлы для автоматизации команд тестирования мобильных приложений, которые в противном случае вы бы запускали с помощью командной строки gcloud. Этот пример сценария bash запускает XCTest с двухминутным таймаутом и сообщает, успешно ли завершился тест:

if gcloud firebase test ios run --test MyTest.zip --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

Коды выхода скрипта

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

Коды завершения сценария для Test Lab

Код выхода Примечания
0 Все тестовые исполнения пройдены.
1 Произошел общий сбой. Возможные причины: несуществующее имя файла или ошибка HTTP / сети.
2 Тестирование завершено, поскольку были предоставлены неизвестные команды или аргументы.
10 Один или несколько тестовых примеров (проверенные классы или методы классов) в ходе выполнения теста не прошли.
15 Лаборатория Firebase Test Lab не смогла определить, прошла или не прошла тестовая матрица из-за непредвиденной ошибки.
19 Тестовая матрица была отменена пользователем.
20 Произошла ошибка тестовой инфраструктуры.

Следующий шаг

Прочтите документацию Google Cloud SDK, чтобы изучить варианты тестирования, которые общедоступны или находятся в стадии бета-тестирования .