Начните тестирование с системами CI

Вы можете использовать Firebase Test Lab при разработке своего приложения с использованием любой системы непрерывной интеграции (CI). Системы непрерывной интеграции позволяют автоматически создавать и тестировать приложение каждый раз, когда вы регистрируете обновления исходного кода приложения.

Использование Firebase Test Lab с Jenkins CI

В этом разделе описывается, как использовать Test Lab с Jenkins CI .

Требования

Прежде чем вы сможете использовать Firebase Test Lab с Jenkins, вам необходимо выполнить следующие шаги:

  1. Настройте gcloud. Следуйте инструкциям из раздела Использование Firebase Test Lab из командной строки gcloud, чтобы создать проект Firebase и настроить локальную среду Google Cloud SDK.

  2. Создайте и авторизуйте учетную запись службы. Учетные записи служб не подлежат проверке на спам или запросам проверки подлинности, которые в противном случае могли бы заблокировать ваши сборки CI. Создайте учетную запись службы с ролью редактора в Google Cloud Console , а затем активируйте ее (см. документацию по активации учетной записи службы gcloud, чтобы узнать, как это сделать).

  3. Включите необходимые API. После входа в систему с использованием сервисного аккаунта: На странице библиотеки API Google Developers Console включите Google Cloud Testing API и Cloud Tool Results API . Чтобы включить эти API, введите эти имена API в поле поиска в верхней части консоли, а затем нажмите Включить API на странице обзора для этого API.

Установите и настройте Дженкинс

Вы можете установить и настроить Jenkins CI в Linux или Windows. Некоторые детали этого руководства относятся к установке и запуску Jenkins CI в Linux, включая использование косой черты ( / ) в путях к файлам.

Чтобы загрузить и установить Jenkins на компьютер под управлением Linux или Windows, следуйте инструкциям по установке Jenkins . После установки Jenkins следуйте инструкциям по запуску и доступу к Jenkins , чтобы завершить настройку и получить доступ к панели управления Jenkins.

Настройте глобальные параметры безопасности

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

Настройка глобальных параметров безопасности

  1. Перейдите к панели инструментов Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором вы установили Jenkins.
  2. На информационной панели Jenkins нажмите « Управление Jenkins », а затем нажмите « Настроить глобальную безопасность ».
  3. На странице « Настроить глобальную безопасность » нажмите « Включить безопасность », а затем нажмите « Сохранить ».

Дополнительные сведения о настройке параметров безопасности для Jenkins см. в разделах Quick and Simple Security , Standard Security Setup и Security Jenkins .

Создайте проект Дженкинса

Затем создайте проект для запуска непрерывного интеграционного тестирования вашего приложения с помощью Firebase Test Lab.

Чтобы создать проект Jenkins

  1. Перейдите к панели инструментов Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором вы установили Jenkins.
  2. На панели инструментов Jenkins щелкните New Item .
  3. Введите имя вашего проекта в поле Имя элемента :
    • Выберите проект Freestyle, чтобы создать проект, использующий единую конфигурацию сборки.
    • Выберите « Создать проект с несколькими конфигурациями», чтобы создать проект, работающий в нескольких различных конфигурациях сборки. Если вы планируете создать приложение с различными конфигурациями сборки (несколько локалей, несколько уровней Android API и т. д.), лучшим выбором будет проект с несколькими конфигурациями.
  4. Нажмите Сохранить .

После того, как ваш проект будет создан, ваш веб-браузер отобразит главную страницу вашего проекта.

Добавьте контроль версий и шаги сборки Gradle

В этом разделе описывается, как интегрировать Jenkins с системами контроля версий, такими как GitHub, и как добавить этапы сборки Gradle для сборки пакетов APK из исходного кода.

Интеграция с GitHub и другими системами контроля версий

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

Чтобы узнать о настройке сборок в Jenkins, см. раздел Настройка автоматических сборок .

Добавление шагов сборки Gradle для перестроения пакетов APK

Если вы используете систему контроля версий для управления исходным кодом своего приложения, вам необходимо включить этап сборки Gradle для создания новых двоичных файлов APK каждый раз, когда Jenkins загружает исходный код из вашей системы контроля версий.

  1. Добавьте шаг сборки для запуска следующих команд в основном каталоге вашего приложения:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Добавьте шаг сборки, чтобы использовать пакеты APK, созданные Gradle, при тестировании с помощью Test Lab. Вы можете использовать этот путь как <local_server_path> в приведенном ниже примере сценария оболочки, где <AppFolder> — это папка проекта Android Studio для вашего приложения:

    <AppFolder>/app/build/outputs/apk
    

Добавьте этапы сборки Test Lab в Jenkins.

Теперь вы готовы добавить шаг сборки в Jenkins для запуска Test Lab с помощью командной строки gcloud.

Чтобы добавить шаг сборки gcloud

  1. На главной странице вашего проекта нажмите Configure .
  2. На странице конфигурации проекта прокрутите вниз до раздела « Сборка », а затем выберите « Выполнить оболочку » в меню « Добавить шаг сборки ».

  3. В командном окне оболочки 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, ознакомьтесь с их документацией: