Вы можете использовать Firebase Test Lab при разработке приложения с помощью любой системы непрерывной интеграции (CI). Системы непрерывной интеграции позволяют автоматически собирать и тестировать ваше приложение каждый раз, когда вы вносите обновления в исходный код приложения.
Использование Firebase Test Lab с Jenkins CI
В этом разделе описывается, как использовать Test Lab с Jenkins CI .
Требования
Прежде чем использовать Firebase Test Lab с Jenkins, необходимо выполнить следующие шаги:
Настройте gcloud. Следуйте инструкциям из раздела «Использование Firebase Test Lab из командной строки gcloud» , чтобы создать проект Firebase и настроить локальную среду Google Cloud SDK.
Создайте и авторизуйте учетную запись службы. Учетные записи служб не подвергаются проверкам на спам или запросам капчи, которые могли бы блокировать ваши сборки CI. Создайте учетную запись службы с ролью «Редактор» в консоли Google Cloud , а затем активируйте ее (подробнее см. в документации по команде gcloud auth activate-service-account ).
Включите необходимые API. После входа в систему с помощью учетной записи службы: на странице библиотеки API в консоли разработчиков Google включите API Google Cloud Testing и API результатов Cloud Tool . Чтобы включить эти API, введите их названия в поле поиска в верхней части консоли, а затем нажмите «Включить API» на странице обзора соответствующего API.
Установите и настройте Jenkins.
Вы можете установить и настроить Jenkins CI на Linux или Windows. Некоторые детали этого руководства относятся к установке и запуску Jenkins CI на Linux, включая использование косых черт ( / ) в путях к файлам.
Чтобы загрузить и установить Jenkins на компьютер под управлением Linux или Windows, следуйте инструкциям в разделе «Установка Jenkins» . После установки Jenkins следуйте инструкциям в разделе «Запуск и доступ к Jenkins» , чтобы завершить настройку и получить доступ к панели управления Jenkins.
Настройка глобальных параметров безопасности
При первой установке Jenkins не настроены аутентификация пользователей и контроль доступа. Перед использованием Jenkins с Firebase Test Lab необходимо настроить глобальные параметры безопасности для обеспечения контроля доступа и аутентификации пользователей.
Для настройки глобальных параметров безопасности
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором установлен Jenkins.
- На панели управления Jenkins нажмите «Управление Jenkins» , а затем — «Настроить глобальную безопасность» .
- На странице «Настройка глобальной безопасности» нажмите «Включить безопасность» , а затем нажмите «Сохранить» .
Для получения дополнительной информации о настройке параметров безопасности для Jenkins см. разделы «Быстрая и простая безопасность» , «Стандартная настройка безопасности» и «Защита Jenkins» .
Создайте проект Jenkins
Далее создайте проект для запуска непрерывного интеграционного тестирования вашего приложения с помощью Firebase Test Lab .
Для создания проекта Jenkins
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором установлен Jenkins.
- На панели управления Jenkins нажмите «Создать элемент» .
- Введите название для вашего проекта в поле «Название элемента» :
- Выберите проект «Свободный стиль» , чтобы создать проект, использующий единую конфигурацию сборки.
- Выберите «Создать многоконфигурационный проект» , чтобы создать проект, работающий с несколькими различными конфигурациями сборки. Если вы планируете собирать приложение с различными конфигурациями сборки (несколько локалей, несколько уровней Android API и т. д.), то многоконфигурационный проект — лучший выбор.
- Нажмите « Сохранить ».
После создания проекта ваш веб-браузер отобразит главную страницу вашего проекта.
Добавить систему контроля версий и этапы сборки Gradle.
В этом разделе описывается, как интегрировать Jenkins с системами контроля версий, такими как GitHub, и как добавить шаги сборки Gradle для сборки APK-пакетов из исходного кода.
Интеграция с GitHub и другими системами контроля версий.
Если вы используете GitHub или другую систему контроля версий для управления исходным кодом вашего приложения, вы можете настроить Jenkins на автоматическую сборку и запуск тестов каждый раз, когда вносятся обновления в ваше приложение. Вы также можете настроить Jenkins на периодическую сборку.
Чтобы узнать о настройке сборок в Jenkins, см. раздел «Настройка автоматических сборок» .
Добавление шагов сборки Gradle для пересборки APK-пакетов.
Если вы используете систему контроля версий для управления исходным кодом вашего приложения, вам необходимо включить этап сборки Gradle, который будет создавать новые бинарные файлы APK каждый раз, когда Jenkins загружает исходный код из вашей системы контроля версий.
Добавьте этап сборки, который будет выполнять следующие команды в основном каталоге вашего приложения:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Добавьте шаг сборки, чтобы использовать APK-пакеты, созданные Gradle, при тестировании с помощью Test Lab . Вы можете использовать этот путь в качестве <local_server_path> в приведенном ниже примере скрипта оболочки, где <AppFolder> — это папка проекта Android Studio для вашего приложения:
<AppFolder>/app/build/outputs/apk
Добавить этапы сборки Test Lab в Jenkins
Теперь вы готовы добавить шаг сборки в Jenkins для запуска Test Lab с помощью командной строки gcloud.
Чтобы добавить шаг сборки gcloud
- На главной странице вашего проекта нажмите «Настроить» .
На странице конфигурации проекта прокрутите вниз до раздела «Сборка» , а затем выберите «Выполнить оболочку» в меню «Добавить шаг сборки» .
В окне командной строки Jenkins Execute shell введите следующее, заменив <local_server_path> на путь к тестовому приложению на сервере, <app_apk> на APK-файл вашего приложения и <app_test_apk> на тестовый APK-файл вашего приложения:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Проанализируйте результаты теста.
После завершения тестирования вашего приложения Test Lab вы можете просмотреть результаты тестирования в консоли Firebase или в хранилище Google Cloud Storage в вашем проекте. Вы также можете добавить команду gsutil к приведенной выше команде оболочки, чтобы скопировать данные результатов тестирования на свой локальный компьютер. Для получения дополнительной информации см. раздел «Анализ результатов Firebase Test Lab .
Непрерывная интеграция с другими системами непрерывной интеграции.
Чтобы узнать, как использовать Firebase Test Lab с другими системами непрерывной интеграции, ознакомьтесь с их документацией: