Exécuter des tests avec Android Studio

Firebase Test Lab dispose d'une infrastructure basée sur le cloud permettant de tester les applications Android . Il est entièrement intégré à Android Studio pour exécuter des tests d'instrumentation et examiner les résultats des tests.

Ce guide explique comment modifier les tests d'instrumentation dans Android Studio afin de pouvoir les intégrer et les exécuter avec Test Lab. Pour savoir comment utiliser Test Lab à partir de l'interface utilisateur d'Android Studio afin de créer une matrice de test, d'exécuter un test d'instrumentation et d'afficher les résultats du test, consultez Exécuter vos tests avec Firebase Test Lab.

Faites des captures d'écran

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

Créer des tests à l'aide d'Espresso Test Recorder

L'outil Espresso Test Recorder vous permet de créer des tests d'interface utilisateur pour 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 des tests d'instrumentation pour Test Lab

Test Lab fournit une variable système que vous pouvez ajouter à vos tests d'instrumentation afin qu'ils se comportent différemment lorsque vous les exécutez dans 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

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 Firebase Test Lab plug-in

Les appareils gérés par Gradle via le Firebase Test Lab plug-in vous permettent d'exécuter des tests d'instrumentation automatisés à grande échelle sur des appareils Test Lab, en fonction des configurations figurant 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 les tests de manière optimale sur plusieurs segments en fonction de votre historique de tests précédent. Avec la segmentation intelligente, les segments s'exécutent pendant une durée à peu près identique et renvoient les résultats des tests le plus rapidement possible. La segmentation intelligente vous permet d'exécuter de grandes suites de tests en parallèle, ce qui rend cette fonctionnalité 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 GradleTest Lab, suivez les instructions de la section Optimiser les exécutions de tests avec la segmentation intelligente .