Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Comienza a realizar pruebas de instrumentación

Una prueba de instrumentación es una prueba escrita por ti o tu equipo específicamente para probar tu app con los frameworks de Android Espresso y UI Automator 2.0. Test Lab proporciona los resultados de todos los casos de pruebas que completan la ejecución durante ese tiempo.

Cuando se escriben pruebas de instrumentación, se crea un segundo módulo APK que se subirá posteriormente a Test Lab junto con el módulo APK de tu app. Para obtener más información sobre la creación de APK de prueba, consulta Prueba tu app.

Tiempo de espera de la prueba de instrumentación

Las pruebas de instrumentación se pueden ejecutar por hasta 45 minutos en dispositivos físicos y por hasta 60 minutos en dispositivos virtuales.

Ejecuta pruebas de forma independiente con el Organizador

El Organizador de pruebas de Android te permite ejecutar cada prueba de instrumentación de tu app de forma independiente. Test Lab siempre usa la versión más reciente del Organizador. Usar el Organizador incluye algunos beneficios y una desventaja:

Ventajas:

  • Sin estado compartido: Cada prueba se ejecuta en su propia instancia de instrumentación, por lo que no se acumula el estado compartido entre ellas.
  • Fallas aisladas: Si falla una prueba, solo se interrumpe su propia instancia de instrumentación, por lo que las demás pruebas se mantienen activas.

Desventaja:

Habilita el Organizador

Si quieres habilitar el Organizador para Test Lab, en la configuración de pruebas de instrumentación, haz clic en Opciones adicionales > Ejecutar con el Organizador.

Acelera las pruebas con la fragmentación

Con la fragmentación de pruebas, se divide un conjunto de pruebas en subgrupos (fragmentos) que se ejecutan por separado de forma aislada. Test Lab ejecuta automáticamente cada fragmento en paralelo con varios dispositivos y completa todo el conjunto de pruebas en menos tiempo.

Digamos que creas N fragmentos. Por cada dispositivo que selecciones, Test Lab inicia N dispositivos idénticos y ejecuta un subconjunto de las pruebas en cada dispositivo. Esto significa que los casos de prueba fragmentados pueden generar varias ejecuciones de prueba por dispositivo, a diferencia de los casos de prueba no fragmentados, que siempre realizan una ejecución de prueba por dispositivo (para obtener una descripción general rápida de los conceptos clave en Test Lab, consulta Conceptos clave.

Facturación por fragmentos de prueba

Test Lab aprovecha el mecanismo de fragmentación integrado de AndroidJUnitRunner para implementar tus fragmentos. Para evitar que se te cobre por iniciar fragmentos vacíos (fragmentos sin casos de prueba asignados), la cantidad de fragmentos que crees debe ser menor que la cantidad total de casos de prueba. Según cuánto tarde en ejecutarse cada caso de prueba, por lo general, se recomienda asignar de 2 a 10 casos de prueba por fragmento.

Para obtener más detalles sobre la facturación, consulta el artículo sobre uso, cuotas y facturación.

Habilita la fragmentación de pruebas

Puedes habilitar la fragmentación de pruebas con Firebase console. Para ello, sigue estos pasos:

  1. En la configuración de la prueba de instrumentación, haz clic en Opciones adicionales.

  2. En la sección Fragmentación, ingresa la cantidad de fragmentos que deseas ejecutar.

Toma capturas de pantalla

En las siguientes instrucciones, se describe cómo agregar la biblioteca de capturas de pantalla de Test Lab a tu app y llamar a esa biblioteca desde tu prueba. Test Lab proporciona una biblioteca que puedes usar para tomar capturas de pantalla cuando ejecutas pruebas de instrumentación, como las pruebas que se escriben con el framework para pruebas Espresso. Después de ejecutar la prueba, puedes revisar las capturas de pantalla en Android Studio o en Firebase console.

Para permitir que en la prueba se tomen capturas de pantalla, agrega la biblioteca cloudtestingscreenshotter_lib.aar. Ten en cuenta que la capacidad para tomar capturas de pantalla ya está incorporada en el APK de prueba app-debug-test-unaligned.apk y la app de ejemplo de NotePad. Las capturas de pantalla también se realizan automáticamente cuando ejecutas una prueba Robo.

1. Agrega la biblioteca de capturas de pantalla a tu proyecto

  1. En Android Studio, abre la vista Project y, luego, haz clic con el botón derecho en el nombre de tu proyecto. Luego, haz clic en New > Directory.

  2. En el diálogo New directory, ingresa aars. Se creará un directorio aars en la raíz de tu proyecto de prueba (como directorio par de la carpeta app).

  3. Copia cloudtestingscreenshotter_lib.aar y pégalo en la carpeta aars.

  4. En el archivo build.gradle a nivel de raíz (nivel de proyecto) de tu app, agrega una referencia a la carpeta aars en cada bloque repositories:

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. En el directorio de nivel superior de tu módulo (en la app de ejemplo de NotePad, este es el directorio de app), abre el archivo build.gradle y agrega una dependencia de cloudtestingscreenshotter_lib.aar al bloque dependencies de nivel superior:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. En el archivo AndroidManifest.xml, agrega las siguientes líneas a la etiqueta <manifest> para especificar los permisos de sistema de la app. Si realizas pruebas en Android 10 (nivel de API 29) o versiones posteriores, omite el permiso WRITE_EXTERNAL_STORAGE (la app no requiere este permiso para leer y escribir capturas de pantalla en el dispositivo).

    <manifest ... >
       <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.INTERNET"/>
       ...
    </manifest>
    

2. Toma una captura de pantalla de la prueba

Cuando quieras tomar una captura de pantalla de la prueba, llama al método ScreenShotter.takeScreenshot desde la biblioteca cloudtestingscreenshotter_lib, en la que el primer argumento es una etiqueta que usas para identificar la captura de pantalla (en el siguiente ejemplo, se usa main_screen_2):

Java

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);

Kotlin+KTX

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)

3. Mira tus capturas de pantalla

Después de completar la prueba, puedes comparar las capturas de pantalla que se tomaron. Para ello, selecciona un elemento del árbol de resultados de la prueba y haz clic en la opción View Screenshots Mira las capturas de pantalla.

Comparación de capturas de pantalla

Puedes seleccionar y comparar capturas de pantalla de distintas configuraciones de la siguiente manera:

Tarea Acción
Cambiar de una ejecución de prueba a otra Usa el menú desplegable de la esquina superior izquierda.

menú de casos de prueba
Cambiar de una captura de pantalla a otra dentro de la misma ejecución de prueba Usa las flechas de la esquina superior derecha.

Selector de capturas de pantalla
Agregar paneles adicionales de comparación de capturas de pantalla a la vista actual Haz clic en Compare.

Comparar
Seleccionar otra dimensión de prueba (tipo de dispositivo, orientación, configuración regional, etc.) Selecciona un miembro de dimensión nuevo de la lista que se encuentra en la parte inferior de la captura de pantalla.