Exécuter des tests avec Android Studio

Firebase Test Lab fournit une infrastructure cloud pour tester Android et offre une intégration complète avec Android Studio pour l'exécution les tests d'instrumentation et l'examen des résultats.

Ce guide explique comment modifier les tests d'instrumentation dans Android Studio afin de vous pouvez les intégrer et les exécuter avec Test Lab. Pour obtenir des instructions sur l'utilisation Test Lab à partir de l'interface utilisateur Android Studio pour créer une matrice de test, exécuter une d'instrumentation et afficher ses résultats, Exécutez vos tests avec Firebase Test Lab.

Effectuer des captures d'écran

Test Lab permet de faire des captures d'écran lors de l'exécution des tests d'instrumentation. Pour savoir comment effectuer des captures d'écran, consultez Ajoutez la bibliothèque de captures d'écran à votre projet.

Créer des tests avec Espresso Test Recorder

L'outil Espresso Test Recorder vous permet de tester l'interface utilisateur de votre application sans écrire de code de test. Vous pouvez enregistrer vos interactions avec un appareil et ajouter des assertions pour vérifier les éléments de l'interface utilisateur dans des instantanés spécifiques de votre application. Espresso Test Recorder utilise ensuite l'enregistrement sauvegardé pour générer automatiquement un test d'interface utilisateur Espresso que vous pouvez exécuter pour tester votre application dans Test Lab.

Pour en savoir plus, consultez Créer des tests d'interface utilisateur avec Espresso Test Recorder

Modifier le comportement du test d'instrumentation pour Test Lab

Test Lab fournit une variable système que vous pouvez ajouter à votre instrument pour qu'ils se comportent différemment lorsque vous les exécutez Test Lab que lorsque vous les exécutez sur votre propre appareil de test ou émulateur.

L'exemple de code suivant lit une propriété système, firebase.test.lab, et définit une chaîne testLabSetting sur true si le test est exécuté dans Test Lab. Ensuite, il utilise la valeur de cette chaîne pour contrôler si des instructions supplémentaires sont exécutées :

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
    // ...
}

Utiliser des appareils gérés par Gradle via le plug-in Firebase Test Lab

Appareils gérés par Gradle via le Firebase Test Lab Le plug-in vous permet d'exécuter des tests d'instrumentation automatisés à grande échelle sur Test Lab. en fonction des configurations contenues dans les fichiers Gradle de votre projet.

Les appareils gérés par Gradle proposent également une segmentation intelligente qui vous permet de répartir effectue des tests optimaux sur les segments en fonction de l'historique de vos tests précédents. Avec segmentation, les segments s'exécutent pour la même durée et renvoient le test les résultats le plus rapidement possible. La segmentation intelligente vous permet d'exécuter de vastes ensembles de tests en parallèle, ce qui rend cette fonctionnalité bien adaptée aux flux CI/CD.

Pour activer la segmentation intelligente à l'aide du plug-in Test Lab pour les appareils gérés par Gradle, suivez les instructions de la section Optimiser les exécutions de test avec la segmentation intelligente.