Firebase Test Lab fournit une infrastructure basée sur le cloud pour tester les applications Android. Il est entièrement intégré à Android Studio pour exécuter des tests instrumentés et examiner les résultats des tests.
Ce guide explique comment modifier les tests instrumentés dans Android Studio afin de pouvoir les intégrer et les exécuter avec Test Lab. Pour savoir comment utiliser Test Lab depuis l'interface utilisateur d'Android Studio afin de créer une matrice de test, exécuter un test instrumenté et afficher les résultats des tests, consultez Exécuter vos tests avec Firebase Test Lab.
Faire des captures d'écran
Test Lab permet de capturer des captures d'écran lors de l'exécution de tests instrumentés. Pour savoir comment effectuer 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'UI 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'UI Espresso correspondant que vous pouvez exécuter pour tester votre application dans Test Lab.
Pour en savoir plus, consultez Créer des tests d'UI 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 à vos tests instrumentés afin de les faire se comporter différemment lorsque vous les exécutez dans Test Lab que lorsque vous les exécutez sur votre propre appareil ou émulateur de test.
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 en cours d'exécution dans Test Lab.
Il utilise ensuite la valeur de cette chaîne pour déterminer si des instructions supplémentaires doivent être 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 les appareils gérés par Gradle via le plug-in Firebase Test Lab
Le plug-in Firebase Test Lab pour les appareils gérés par Gradle vous permet 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 la segmentation intelligente, qui vous permet de répartir les tests de manière optimale sur les segments en fonction de l'historique de vos tests précédents. Avec la segmentation intelligente, les segments s'exécutent à peu près en même temps 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é idéale pour les flux CI/CD.
Pour activer la segmentation intelligente à l'aide du plug-in Test Lab Gradle Managed Devices, suivez les instructions de la section Optimiser les exécutions de test avec la segmentation intelligente.