Primeros pasos con Firebase Test Lab desde la línea de comandos de gcloud

Firebase Test Lab te permite probar tu app para iOS en varios dispositivos mediante la interfaz de línea de comandos de gcloud. Sigue leyendo para descubrir cómo comenzar.

Crea un proyecto de Firebase

Si no tienes un proyecto de Firebase para tu app, ve a Firebase console y haz clic en Crear proyecto nuevo a fin de crear uno ahora. Deberás ser el propietario del proyecto o contar con los permisos para editarlo.

En los planes Spark y Flame, puedes usar Test Lab para ejecutar una cantidad limitada de pruebas por día. Si quieres usar Test Lab sin estar limitado por la cuota diaria, debes actualizar al plan Blaze de Firebase.

Configura el entorno local del SDK de Google Cloud

  1. Descarga la herramienta de línea de comandos de gcloud, si aún no lo has hecho: SDK de Google Cloud
  2. Asegúrate de que la instalación del SDK de Cloud esté actualizada y que incluya el comando gcloud firebase:
    gcloud components update
  3. Asegúrate de que tus credenciales de autenticación estén al día:
    gcloud auth login
  4. Configura el proyecto actual de gcloud:
    gcloud config set project PROJECT_ID

Crea XCtests para tu app

Para crear tu prueba, ejecuta el siguiente comando en la terminal:

proyecto

xcodebuild -project PATH/TO/YOUR_WORKSPACE.xcodeproj \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

lugar de trabajo

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

Después de crear la prueba con éxito, la puedes comprimir y subir en Test Lab:

cd FOLDER_WITH_TEST_OUTPUT/Build/Products ; \
zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun

Ejecuta tus pruebas

Selecciona las dimensiones de tu prueba

Test Lab te permite ejecutar pruebas en una variedad de versiones de iOS, dispositivos, orientaciones de pantalla y configuraciones regionales. Estas configuraciones se conocen como dimensiones de prueba de la prueba. A fin de conocer las opciones para cada dimensión, sustituye models, versions o locales por dimension en el siguiente comando:

gcloud alpha firebase test ios dimension list

La orientación de la pantalla resulta un poco más sencilla, ya que sus únicas opciones son portrait y landscape.

Revisa la lista de dimensiones de prueba y selecciona algunas combinaciones sobre las que te gustaría ejecutar tu prueba. Si usas los planes Spark o Flame, puedes ejecutar hasta 5 combinaciones por día. Si usas el plan Blaze, puedes ejecutar pruebas sin un límite en la cantidad de combinaciones por día, pero solo puedes incluir hasta 200 combinaciones en cada ejecución. Para obtener más información sobre los límites de prueba y los precios, consulta los Planes de precios.

Ejecuta las pruebas

Cuando termines de seleccionar un conjunto de dimensiones de prueba, puedes hacer que Test Lab ejecute tus pruebas con el comando firebase test ios run. Para cada combinación de dimensiones de prueba que te gustaría probar, incluye una marca --device individual:

gcloud alpha firebase test ios run --test PATH/TO/MyTests.zip \
  --device model=MODEL_ID_1,version=VERSION_ID_1,locale=LOCALE_1,orientation=ORIENTATION_1 \
  --device model=MODEL_ID_2,version=VERSION_ID_2,locale=LOCALE_2,orientation=ORIENTATION_2 \
  etc...

Analiza los resultados de las pruebas

Cuando finalice la prueba, la herramienta gcloud mostrará un resumen básico de los resultados de esta. Como parte del resumen, la herramienta incluye un vínculo para ver más resultados detallados en Firebase console. Para obtener más información acerca de cómo interpretar estos resultados, consulta Cómo analizar los resultados de las pruebas.

Automatiza las pruebas futuras

Cómo usar comandos de gcloud con Test Lab

Puedes usar secuencias de comandos de shell o archivos de lote para automatizar los comandos de prueba de apps para dispositivos móviles que, de otro modo, tendrías que ejecutar mediante la línea de comandos de gcloud. Este ejemplo de secuencia de comandos de Bash se ejecuta como XCTest con un tiempo de espera máximo de dos minutos y sirve para informar si la ejecución de la prueba se completó correctamente:

if gcloud alpha firebase test ios run --test MyTest.zip --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

Códigos de salida de secuencias de comandos

Test Lab ofrece varios códigos de salida que puedes usar para comprender mejor los resultados de las pruebas que ejecutas con secuencias de comandos o archivos de lote.

Códigos de salida de secuencias de comandos para Test Lab

Código de salida Notas
0 Se aprobaron todas las ejecuciones de pruebas.
1 Hubo una falla general. Las causas posibles incluyen: un nombre de archivo que no existe o un error de HTTP/red.
2 Se salió de la prueba debido a que se proporcionaron comandos o argumentos desconocidos.
10 Uno o más casos de prueba (clases o métodos de clase evaluados) de una prueba no se aprobaron.
15 Firebase Test Lab no pudo determinar si la matriz de pruebas se aprobó o falló, debido a un error inesperado.
19 El usuario canceló la matriz de pruebas.
20 Hubo un problema en la infraestructura de pruebas.

Próximo paso

Explora Test Lab para el SDK de línea de comandos para iOS: gcloud alpha firebase test ios

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.