Ejecutar pruebas con Android Studio

Firebase Test Lab proporciona una infraestructura basada en la nube para probar aplicaciones de Android y presenta una integración completa con Android Studio para ejecutar pruebas instrumentadas y revisar los resultados de las pruebas.

Esta guía describe cómo modificar pruebas instrumentadas en Android Studio para que pueda integrarlas y ejecutarlas con Test Lab. Para obtener instrucciones sobre cómo usar Test Lab desde la interfaz de usuario de Android Studio para crear una matriz de prueba, ejecutar una prueba instrumentada y ver los resultados de la prueba, consulte Ejecute sus pruebas con Firebase Test Lab .

Capturar capturas de pantalla

Test Lab brinda soporte para realizar capturas de pantalla cuando se ejecutan pruebas instrumentadas. Para aprender cómo realizar capturas de pantalla, consulte Agregar la biblioteca de capturas de pantalla a su proyecto .

Cree pruebas usando Espresso Test Recorder

La herramienta Espresso Test Recorder le permite crear pruebas de UI para su aplicación sin escribir ningún código de prueba. Puede registrar sus interacciones con un dispositivo y agregar afirmaciones para verificar elementos de la interfaz de usuario en instantáneas particulares de su aplicación. Luego, Espresso Test Recorder toma la grabación guardada y genera automáticamente una prueba de interfaz de usuario de Espresso correspondiente que puede ejecutar para probar su aplicación en Test Lab.

Para obtener más información, consulte Crear pruebas de IU con Espresso Test Recorder .

Modificar el comportamiento de las pruebas instrumentadas para Test Lab

Test Lab proporciona una variable de sistema que puede agregar a sus pruebas instrumentadas para que pueda hacer que se comporten de manera diferente cuando las ejecuta en Test Lab que cuando las ejecuta en su propio dispositivo de prueba o emulador.

El siguiente ejemplo de código lee una propiedad del sistema, firebase.test.lab , y establece una cadena, testLabSetting , en true si la prueba se ejecuta en Test Lab. Luego, usa el valor de esta cadena para controlar si se ejecutan declaraciones 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
    // ...
}

Utilice dispositivos administrados por Gradle a través del complemento Firebase Test Lab

Gradle Managed Devices a través del complemento Firebase Test Lab le permite ejecutar pruebas instrumentadas automatizadas a escala en dispositivos Test Lab, según las configuraciones de los archivos Gradle de su proyecto.

Los dispositivos administrados por Gradle también ofrecen fragmentación inteligente, que le permite distribuir las pruebas de manera óptima entre fragmentos según su historial de pruebas anterior. Con la fragmentación inteligente, las fragmentaciones se ejecutan durante aproximadamente el mismo período de tiempo y devuelven los resultados de las pruebas lo más rápido posible. La fragmentación inteligente le permite ejecutar grandes conjuntos de pruebas en paralelo, lo que hace que esta característica sea muy adecuada para flujos de CI/CD.

Para habilitar la fragmentación inteligente mediante el complemento Gradle Managed Devices Test Lab, siga las instrucciones en Optimizar ejecuciones de pruebas con fragmentación inteligente .