Exécutez des tests avec Android Studio

Firebase Test Lab fournit une infrastructure basée sur le cloud pour tester les applications Android et propose une intégration complète avec Android Studio pour exécuter des tests instrumentés et examiner les résultats des tests.

Ce guide décrit comment modifier les tests instrumentés dans Android Studio afin que vous puissiez les intégrer et les exécuter avec Test Lab. Pour obtenir des instructions sur l'utilisation de Test Lab à partir de l'interface utilisateur d'Android Studio pour créer une matrice de test, exécuter un test instrumenté et afficher les résultats du test, consultez Exécuter vos tests avec Firebase Test Lab .

Capturer des captures d'écran

Test Lab prend en charge la capture de captures d'écran lors de l'exécution de tests instrumentés. Pour savoir comment capturer 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, notamment des instantanés de votre application. Espresso Test Recorder prend ensuite l'enregistrement enregistré et génère automatiquement un test d'interface utilisateur Espresso correspondant 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 instrumentés pour Test Lab

Test Lab fournit une variable système que vous pouvez ajouter à vos tests instrumentés afin de pouvoir les amener à se comporter 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 en cours d'exécution 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
    // ...
}

Utilisez les appareils gérés par Gradle via le plugin Firebase Test Lab

Les appareils gérés par Gradle via le plugin Firebase Test Lab vous permettent d'exécuter des tests instrumentés automatisés à grande échelle sur les appareils Test Lab, en fonction des configurations des fichiers Gradle de votre projet.

Les appareils gérés par Gradle offrent également un partitionnement intelligent, qui vous permet de distribuer les tests de manière optimale entre les partitions en fonction de votre historique de tests précédent. Avec le partage intelligent, les fragments fonctionnent pendant à peu près la même durée et renvoient les résultats des tests le plus rapidement possible. Le partage intelligent vous permet d'exécuter de grandes suites de tests en parallèle, ce qui rend cette fonctionnalité bien adaptée aux flux CI/CD.

Pour activer le partage intelligent à l'aide du plug-in Gradle Managed Devices Test Lab, suivez les instructions dans Optimiser les exécutions de tests avec le partage intelligent .