Вы можете использовать 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.
Создайте и авторизуйте учётную запись службы. Учётные записи службы не подлежат проверке на спам и не требуют ввода капчи, что в противном случае может заблокировать ваши сборки непрерывной интеграции. Создайте учётную запись службы с ролью редактора в консоли Google Cloud , а затем активируйте её (подробности см. в документации gcloud auth activate-service-account ).
Включите необходимые API. После входа в систему с использованием учётной записи сервиса: на странице «Библиотека API» консоли Google Developers Console включите API Google Cloud Testing и API Cloud Tool Results . Чтобы включить эти 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 нажмите кнопку «Новый элемент» .
- Введите название вашего проекта в поле «Название элемента» :
- Выберите Freestyle project , чтобы создать проект, использующий единую конфигурацию сборки.
- Выберите «Создать проект с несколькими конфигурациями» , чтобы создать проект, работающий с несколькими различными конфигурациями сборки. Если вы планируете собирать приложение с различными конфигурациями сборки (разные локали, разные уровни API Android и т. д.), то проект с несколькими конфигурациями — лучший выбор.
- Нажмите «Сохранить» .
После создания проекта ваш веб-браузер отобразит главную страницу вашего проекта.
Добавить контроль версий и шаги сборки 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 введите следующее, заменив <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 с другими системами непрерывной интеграции, ознакомьтесь с их документацией: