Puedes usar Firebase Test Lab cuando desarrolles tu app con cualquier sistema de integración continua (CI). Los sistemas de integración continua te permiten compilar y probar automáticamente tu app cada vez que verifiques actualizaciones en su código fuente.
Usa Firebase Test Lab con Jenkins CI
En esta sección, se describe cómo usar Test Lab con Jenkins CI.
Requisitos
Antes de poder usar Firebase Test Lab con Jenkins, debes completar los siguientes pasos:
Configura gcloud. Sigue las instrucciones que se detallan en el artículo sobre cómo usar Firebase Test Lab desde la línea de comandos de gcloud para crear un proyecto de Firebase y configurar tu entorno local del SDK de Google Cloud.
Crea y autoriza una cuenta de servicio. Las cuentas de servicio no están sujetas a verificaciones de spam ni solicitudes de captcha, que podrían bloquear tus compilaciones de CI. Crea una cuenta de servicio con una función de Editor en la consola de Google Cloud y, luego, actívala (consulta la documentación de gcloud auth activate-service-account para aprender a hacerlo).
Habilita las API obligatorias. Después de acceder con la cuenta de servicio, realiza lo siguiente: en la página de la biblioteca de API de Google Developers Console, habilita las API de Google Cloud Testing y de Cloud Tool Results. Para ello, ingresa los nombres de las API en el cuadro de búsqueda de la parte superior de la consola y, luego, haz clic en Habilitar API, en la página de descripción general de esa API.
Instala y configura Jenkins
Puedes instalar y configurar Jenkins CI en Linux o Windows. Ciertos detalles en esta guía son específicos para la instalación y ejecución de Jenkins CI en Linux, incluido el uso de barras diagonales (/
) en las rutas de acceso de archivos.
Para descargar e instalar Jenkins en una computadora en la que se ejecuta Linux o Windows, sigue las instrucciones que aparecen en la página Installing Jenkins. Después de instalar Jenkins, sigue las instrucciones de la página Starting and Accessing Jenkins con el fin de completar la instalación y acceder al panel de Jenkins.
Configura las opciones de seguridad global
Jenkins no tiene la autenticación del usuario ni el control de acceso configurados cuando se instala por primera vez. Antes de usar Jenkins con Firebase Test Lab, configura las opciones de seguridad global para aplicar el control de acceso y autenticar usuarios.
Para configurar las opciones de seguridad global:
- Navega hasta el panel de Jenkins en tu servidor. Para hacerlo, navega a http://<servername>:8080; <servername> es el nombre de la computadora donde instalaste Jenkins.
- En el panel de Jenkins, haz clic en Manage Jenkins y, luego, en Configure Global Security.
- En la página Configure Global Security, haz clic en Enable security y luego haz clic en Save.
Si quieres obtener más información sobre la configuración de seguridad para Jenkins, consulta las páginas Quick and Simple Security, Standard Security Setup y Securing Jenkins.
Cómo crear un proyecto en Jenkins
A continuación, crea un proyecto para ejecutar pruebas de integración continua de tu app con Firebase Test Lab.
Para crear un proyecto en Jenkins:
- Navega hasta el panel de Jenkins en tu servidor. Para hacerlo, navega a http://<servername>:8080; <servername> es el nombre de la computadora donde instalaste Jenkins.
- En el panel de Jenkins, haz clic en New Item.
- Ingresa un nombre para tu proyecto en el campo Item name:
- Selecciona Freestyle project para crear un proyecto que use una única configuración de compilación.
- Selecciona Build multi-configuration project para crear un proyecto que se ejecute en varias configuraciones de compilación diferentes. Si planeas compilar tu app con una variedad de configuraciones de compilación (varias configuraciones regionales, varios niveles de API de Android, etc.), la mejor opción es un proyecto con múltiples configuraciones.
- Haz clic en Guardar.
El navegador web muestra la página principal de tu proyecto una vez creado.
Cómo agregar el control de revisión y los pasos de compilación de Gradle
En esta sección se describe cómo integrar Jenkins a sistemas de control de revisión, como GitHub, y cómo agregar los pasos de compilación de Gradle para compilar paquetes APK del código fuente.
Integración a GitHub y a otros sistemas de control de revisión
Si usas GitHub o un sistema de control de revisión diferente para administrar el código fuente de tu app, puedes configurar Jenkins con el fin de ejecutar compilaciones automáticas y pruebas cada vez que se verifiquen actualizaciones para tu app. También puedes configurar Jenkins para que ejecute compilaciones periódicamente.
Para obtener más información acerca de la configuración de compilaciones en Jenkins, consulta cómo configurar compilaciones automáticas.
Cómo agregar pasos de compilación en Gradle para volver a compilar paquetes APK
Si usas un sistema de control de revisión para administrar el código fuente de tu app, debes incluir un paso de compilación en Gradle para crear nuevos objetos binarios de APK cada vez que Jenkins descarga el código fuente de tu sistema de control de revisión.
Agrega un paso de compilación para ejecutar los siguientes comandos en el directorio principal de tu aplicación:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Agrega un paso de compilación para usar los paquetes de APK creados por Gradle cuando realices pruebas con Test Lab. Puedes usar esta ruta de acceso como <local_server_path> en la secuencia de comandos de shell de ejemplo que se proporciona a continuación, en la que <AppFolder> es la carpeta del proyecto de Android Studio para tu app:
<AppFolder>/app/build/outputs/apk
Cómo agregar pasos de compilación de Test Lab a Jenkins
Ahora estás listo para agregar un paso de compilación a Jenkins y poder ejecutar Test Lab con la línea de comandos de gcloud.
Para agregar un paso de compilación en gcloud:
- Desde la página principal de tu proyecto, haz clic en Configure.
En la página de configuración de proyecto, desplázate hacia abajo hasta la sección Build y luego selecciona Execute shell en el menú Add build step.
En la ventana Execute shell command de Jenkins, sustituye <local_server_path> por la ruta de acceso a la app de muestra en el servidor, <app_apk> por el APK de tu app y <app_test_apk> por el APK de prueba de tu app:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analiza los resultados de la prueba
Después de completar la prueba de tu app en Test Lab, puedes revisar los resultados de la prueba en Firebase console o en un bucket de Google Cloud Storage en tu proyecto. También puedes agregar un comando de gsutil
al comando de shell anterior para copiar los datos de los resultados de la prueba en tu computadora local.
Para obtener más información, consulta Analiza los resultados de Firebase Test Lab.
Integración continua con otros sistemas de CI
Para obtener más información sobre cómo usar Firebase Test Lab con otros sistemas de CI, consulta la documentación correspondiente: