Ejecuta pruebas con Android Studio

Firebase Test Lab proporciona una infraestructura basada en la nube, en la que puedes probar apps para Android. Además, ofrece integración completa a Android Studio para ejecutar pruebas de instrumentación y revisar los resultados de esas pruebas.

En esta guía, se describe cómo modificar las pruebas de instrumentación en Android Studio para que puedas integrarlas en Test Lab y ejecutarlas. Si quieres obtener instrucciones sobre cómo usar Test Lab desde la IU de Android Studio para crear una matriz de pruebas, ejecutar pruebas de instrumentación y ver los resultados de estas pruebas, consulta la sección Ejecuta las pruebas con Firebase Test Lab.

Toma capturas de pantalla

Test Lab permite tomar capturas de pantalla cuando se ejecutan pruebas de instrumentación. Para obtener información sobre cómo tomar capturas de pantalla, consulta Agrega la biblioteca de capturas de pantalla a tu proyecto.

Crea pruebas con la grabadora de pruebas Espresso

La grabadora de pruebas Espresso te permite crear pruebas de IU para tu app sin escribir ningún código de prueba. Puedes registrar tus interacciones con un dispositivo y agregar aserciones para verificar los elementos de la IU en determinadas instantáneas de tu app. La grabadora de pruebas Espresso toma el registro guardado y genera una prueba Espresso de IU correspondiente de forma automática que puedes ejecutar para probar la app en Test Lab.

Para obtener más información, consulta Cómo crear pruebas de IU con la grabadora de pruebas Espresso.

Modifica el comportamiento de las pruebas de instrumentación para Test Lab

Test Lab proporciona una variable de sistema que puedes agregar a las pruebas de instrumentación para que se comporten diferente cuando las ejecutas en Test Lab y cuando lo haces en tu propio emulador o dispositivo de pruebas.

El siguiente ejemplo de código lee la propiedad de sistema firebase.test.lab y asigna el valor true a la cadena testLabSetting si la prueba se ejecuta en Test Lab. A continuación, usa el valor de esta cadena para controlar si se ejecutan sentencias adicionales:

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Usa dispositivos administrados por Gradle con el complemento de Firebase Test Lab

Los dispositivos administrados por Gradle mediante el complemento de Firebase Test Lab te permiten ejecutar pruebas de instrumentación automatizadas a gran escala en dispositivos de Test Lab, según la configuración de los archivos de Gradle del proyecto.

Los dispositivos administrados por Gradle también ofrecen fragmentación inteligente, lo que te permite distribuir pruebas de manera óptima a través de fragmentos según tu historial de pruebas anterior. Con la fragmentación inteligente, los fragmentos se ejecutan aproximadamente durante el mismo período y muestran los resultados de las pruebas lo más rápido posible. La fragmentación inteligente te permite ejecutar grandes paquetes de pruebas en paralelo, lo que hace que esta función sea adecuada para los flujos de CI/CD.

Para habilitar la fragmentación inteligente con el complemento de Test Lab para dispositivos administrados por Gradle, sigue las instrucciones que se indican en este artículo sobre cómo optimizar las ejecuciones de prueba con la fragmentación inteligente.