Вы можете использовать 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, чтобы узнать, как это сделать).
Включите необходимые API. После входа в систему с использованием учетной записи службы: на странице библиотеки API консоли Google Developers включите Google Cloud Testing API и Cloud ToolResults API . Чтобы включить эти API, введите имена этих API в поле поиска в верхней части консоли, а затем нажмите «Включить API» на странице обзора этого API.
Установите и настройте Дженкинс
Вы можете установить и настроить Jenkins CI в Linux или Windows. Некоторые детали этого руководства касаются установки и запуска Jenkins CI в Linux, включая использование косых черт ( /
) в путях к файлам.
Чтобы загрузить и установить Jenkins на компьютер под управлением Linux или Windows, следуйте инструкциям по установке Jenkins . После установки Jenkins следуйте инструкциям по запуску и доступу к Jenkins , чтобы завершить настройку и получить доступ к панели управления Jenkins.
Настройка глобальных параметров безопасности
В Jenkins не настроена аутентификация пользователей и контроль доступа при первой установке. Прежде чем использовать Jenkins с Firebase Test Lab , настройте глобальные параметры безопасности, чтобы обеспечить контроль доступа и аутентификацию пользователей.
Настройка глобальных параметров безопасности
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<имя_сервера>:8080 , где <имя_сервера> — это имя компьютера, на котором вы установили Jenkins.
- На панели мониторинга Jenkins нажмите «Управление Jenkins» , а затем нажмите «Настроить глобальную безопасность» .
- На странице «Настройка глобальной безопасности» нажмите «Включить безопасность» , а затем нажмите «Сохранить» .
Дополнительные сведения о настройке параметров безопасности для Jenkins см. в разделах «Быстрая и простая безопасность» , «Стандартная настройка безопасности» и «Защита Jenkins» .
Создать проект Дженкинса
Затем создайте проект для проведения непрерывного интеграционного тестирования вашего приложения с помощью Firebase Test Lab .
Чтобы создать проект Jenkins
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<имя_сервера>:8080 , где <имя_сервера> — это имя компьютера, на котором вы установили Jenkins.
- На панели управления Jenkins нажмите «Новый элемент» .
- Введите имя вашего проекта в поле Имя элемента :
- Выберите «Проект Freestyle», чтобы создать проект, использующий единую конфигурацию сборки.
- Выберите «Построить проект с несколькими конфигурациями» , чтобы создать проект, который работает в нескольких различных конфигурациях сборки. Если вы планируете создавать свое приложение с различными конфигурациями сборки (несколько языков, несколько уровней 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 введите следующее, заменив <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 .
Непрерывная интеграция с другими CI-системами
Чтобы узнать, как использовать Firebase Test Lab с другими системами CI, ознакомьтесь с их документацией: