En esta guía, se describe cómo preparar una XCTest para realizar pruebas en Firebase Test Lab.
Paso 1: Configura la ubicación de los datos derivados de tu proyecto
Xcode ubica los artefactos compilados de iOS, incluidas las pruebas que crees, en un directorio de datos derivados. Es posible conservar la ubicación predeterminada de ese directorio, pero resulta útil seleccionar una ubicación que tenga un acceso más sencillo para los archivos, en especial si vas a ejecutar frecuentemente pruebas con Test Lab:
- Abre tu proyecto en Xcode.
- En la barra de menú macOS, selecciona File > Project Settings…
- Cambia el menú desplegable Derived Data de Default Location a Custom Location.
- En el campo que se encuentra bajo el menú desplegable, selecciona una ubicación donde Xcode pueda guardar los resultados de las pruebas (esta es tu FOLDER_WITH_TEST_OUTPUT).
Paso 2: Compila un archivo de prueba genérico
Test Lab ejecuta pruebas de unidades y de IU con el framework XCTest. Para ejecutar las XCTests de tus apps en dispositivos de Test Lab, créalas para pruebas en un dispositivo iOS genérico:
- En el menú desplegable del dispositivo que aparece en la ventana superior del lugar de trabajo de Xcode, selecciona Generic iOS Device.
- En la barra de menú de macOS, selecciona Product > Build For > Testing.
Como alternativa, puedes compilar tu XCTest desde la línea de comandos. Usa el siguiente comando en una terminal:
proyecto
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.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
Paso 3: Firma la prueba y realiza la verificación
Asegúrate de que todos los artefactos de la app y la prueba estén firmados. Por ejemplo, puedes hacerlo mediante Xcode. Para ello, especifica la configuración de firma, como la identidad y el perfil de aprovisionamiento. Para obtener más información, consulta Firma de código de Apple.
Para verificar la firma de la app, ejecuta
codesign --verify --deep --verbose /path/to/MyApp.app
, en el que “MyApp” es el nombre de la app dentro de la carpeta descomprimida. Esto varía según el proyecto. El resultado esperado esMyApp.app: valid on disk
.Si ejecutas una XCUITest, debes verificar la prueba y el ejecutor mediante la ejecución de
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
, en el que “MyTest” es el nombre del ejecutor dentro de la carpeta descomprimida. Esto varía según el proyecto. El resultado esperado esMyTest-Runner.app: valid on disk
.
Paso 4: Empaqueta tu app y realiza la prueba para subirla
Después de crear la prueba con éxito, puedes comprimirla y subirla a Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
También puedes empaquetar tu prueba comprimiendo los archivos de prueba de forma manual como se indica a continuación:
Abre Finder y navega hasta
FOLDER_WITH_TEST_OUTPUT
.Abre la carpeta que tiene el nombre de tu proyecto como prefijo y, luego, navega a la carpeta
Build/Products
.Selecciona las carpetas
Debug-iphoneos
yYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
y, luego, comprímelas.
Paso 5: Ejecuta la prueba de forma local (opcional)
Antes de ejecutar tu prueba con Test Lab, puedes ejecutarla de manera local con un dispositivo conectado por USB para verificar su comportamiento:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Próximos pasos
Sube tu prueba y ejecútala en Firebase console o en la CLI de gcloud.