Toma capturas de pantalla en pruebas de instrumentación

Firebase Test Lab incluye una biblioteca que puedes usar para tomar capturas de pantalla cuando ejecutas pruebas de instrumentación, como las pruebas escritas con el framework para pruebas Espresso. Para agregar esta función a tu prueba, descarga la biblioteca cloudtestingscreenshotter_lib.aar.

La capacidad de tomar capturas de pantalla ya está incorporada en el APK de prueba app-debug-test-unaligned.apk de la app de muestra de NotePad. También se toman capturas de pantalla cuando ejecutas la prueba Robo. En las siguientes instrucciones, te indicamos cómo agregar la biblioteca de capturas de pantalla a la app y llamarla desde la prueba.

Después de ejecutar la prueba, puedes revisar las capturas de pantalla en Android Studio o en Firebase console.

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>
    

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 */)

Mira las 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 (Ver 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.

Próximo paso

Descarga la app de muestra de NotePad.