Le test Robo est un outil de test intégré à Firebase Test Lab. Le test Robo analyse la structure de l'interface utilisateur (UI) de votre application, puis l'explore méthodiquement en simulant automatiquement les activités des utilisateurs. Le test Robo simule toujours les mêmes activités utilisateur dans le même ordre lorsque vous l'utilisez pour tester une application sur une configuration d'appareil spécifique avec les mêmes paramètres. Cette approche de test reproductible vous permet d'utiliser le test Robo pour valider les corrections de bugs et tester les régressions.
Le test Robo capture les fichiers journaux, enregistre une série de captures d'écran annotées, puis crée une vidéo à partir de ces captures d'écran pour vous montrer les opérations utilisateur simulées qu'il a effectuées. Ces journaux, captures d'écran et vidéos peuvent vous aider à déterminer la cause des plantages de l'application. Ces fonctionnalités de test Robo peuvent également vous aider à identifier les problèmes liés à l'UI de votre application.
En plus d'exécuter des tests Robo standards, vous pouvez personnaliser vos tests à l'aide de scripts Robo, qui sont une fonctionnalité des tests Robo. Pour en savoir plus, consultez Exécuter un script Robo.
Si vous souhaitez essayer la version bêta de Robo pour iOS+, consultez Exécuter un test Robo.
Statistiques sur l'exploration du test Robo
Pour vous aider à interpréter les résultats de votre test Robo, celui-ci enregistre des statistiques lors de chaque exploration de test. Test Lab affiche les statistiques en haut de l'onglet "Test Robo" sur la page des résultats de test :
Actions : nombre total d'actions effectuées pendant l'exploration, y compris les actions de script Robo, les actions Monkey et les directives Robo.
Activités : nombre d'activités distinctes couvertes lors de l'exploration.
Écrans : nombre d'écrans distincts visités lors de l'exploration.
Test Lab utilise également les statistiques pour créer une représentation visuelle du test Robo sous la forme d'un graphique d'exploration. Le graphique comporte des écrans en tant que nœuds et des actions en tant qu'arêtes. En suivant les bords entre les écrans, vous pouvez vous faire une idée de la façon dont le test Robo a parcouru votre application tout au long de l'exploration.
Délai avant expiration du test Robo
Selon la complexité de l'UI de votre application, le test Robo peut prendre cinq minutes ou plus pour effectuer un ensemble complet d'interactions avec l'UI. Nous vous recommandons de définir le délai avant expiration du test sur au moins 120 secondes (2 minutes) pour la plupart des applications, et sur 300 secondes (5 minutes) pour les applications moyennement complexes. La valeur par défaut du délai avant expiration est de 300 secondes (5 minutes) pour les tests exécutés à partir d'Android Studio et de la console Firebase, et de 900 secondes (15 minutes) pour les tests exécutés à partir de la ligne de commande gcloud.
Erreurs de délai d'expiration au démarrage de l'application
Si votre application met beaucoup de temps à démarrer, le test Robo peut générer une erreur et ne pourra pas explorer votre application. Cela ne se produit que dans les cas de temps de démarrage extrêmement longs et ne peut être résolu qu'en modifiant votre application pour qu'elle démarre plus rapidement.
Plus de contrôle avec les scripts Robo
Vous avez parfois besoin de mieux contrôler vos tests. Par exemple, vous pouvez tester un parcours utilisateur courant ou fournir une entrée d'UI spécifique, comme un nom d'utilisateur et un mot de passe. Les scripts Robo peuvent vous aider. Pour en savoir plus sur les scripts Robo, consultez Exécuter un script Robo et le guide de référence des scripts Robo.
Tests Robo et widgets d'interface utilisateur non Android
Les tests Robo utilisent l'API Android pour effectuer des actions directement sur les widgets d'UI Android. Cela permet aux tests d'explorer automatiquement votre UI, mais cela signifie également qu'ils doivent pouvoir extraire une hiérarchie d'UI Android pour un écran afin d'y exécuter des tests.
Si un écran de votre application n'utilise pas de widgets d'interface utilisateur Android, les tests Robo se rabattent sur les actions Monkey pour tester cet écran. Contrairement aux actions de test Robo plus méthodiques, les actions Monkey simulent simplement des événements d'appui sur des emplacements semi-aléatoires de l'écran d'un appareil.
Pour mieux tester les écrans qui n'utilisent pas de widgets d'interface utilisateur Android, vous pouvez remplacer les actions arbitraires d'une action Monkey par un ensemble d'actions et d'interactions scriptées via les tests de boucle de jeu Firebase Test Lab.
Intégration à Google Play
Vous pouvez utiliser le test Robo dans la Google Play Console lorsque vous importez et publiez le fichier APK de votre application à l'aide de la version alpha ou bêta. Le test Robo s'exécute sur un ensemble d'appareils physiques populaires situés dans différents emplacements géographiques, ce qui permet de couvrir différents facteurs de forme et configurations matérielles. Pour en savoir plus, consultez Utiliser un rapport pré-lancement pour identifier les problèmes.
Connexion au compte test et saisie de texte prédéfini
Le test Robo est compatible avec la connexion à un compte de test et vous permet également de saisir du texte prédéfini dans les champs de votre application. Pour la connexion personnalisée et d'autres saisies de texte prédéfinies, le test Robo peut saisir du texte dans les champs EditText de votre application. Pour chaque chaîne, vous devez identifier le champ EditText à l'aide d'un nom de ressource Android. Pour en savoir plus, consultez la section Accéder aux ressources.
Connexion
Le test Robo propose deux méthodes mutuellement exclusives pour prendre en charge la connexion :
Connexion personnalisée : si vous fournissez des identifiants de compte de test, vous devez indiquer au test Robo où les saisir et les fournir.
Connexion automatique : si vous ne fournissez pas d'identifiants de compte de test pour la connexion personnalisée, la connexion automatique est utilisée. Le test Robo peut se connecter automatiquement aux applications créées avec des widgets Android standards ou aux applications Compose, à l'aide d'un compte de test Google.
Pour fournir les identifiants d'un compte de test pour une connexion personnalisée, procédez comme suit :
Sur la page Sélectionner des dimensions, choisissez Options supplémentaires.
Sous Identifiants du compte de test (facultatif), saisissez les noms de ressources du nom d'utilisateur et du mot de passe, ainsi que le nom d'utilisateur et le mot de passe du compte de test.
Saisie de texte prédéfini
Vous pouvez fournir un texte de saisie personnalisé pour les autres champs de texte utilisés par votre application. Pour fournir une saisie de texte pour des champs supplémentaires, procédez comme suit :
Sur la page Sélectionner des dimensions, choisissez Options supplémentaires.
Sous Champs supplémentaires (facultatif), saisissez un ou plusieurs noms de ressources, ainsi que les chaînes à saisir dans les champs de texte correspondants.
Erreurs de saisie de texte prédéfini {:#predefined-text}
Le test Robo recherche les champs EditText dont le nom de ressource Android correspond à une expression régulière fournie. Si Robo ne trouve pas de champ correspondant, il ne saisit pas votre texte, mais poursuit son exploration comme d'habitude.
Liens profonds
Vous pouvez fournir jusqu'à trois liens profonds compatibles avec votre application pour les tests.
Les liens profonds sont envoyés à votre application en tant qu'intents Android ACTION_VIEW. Par conséquent, chaque lien doit correspondre à un filtre d'intent dans votre application.
Si un ou plusieurs liens profonds sont fournis, l'application est d'abord lancée normalement (à l'aide de l'intent ACTION_MAIN), puis explorée jusqu'au délai avant expiration spécifié. Après l'exploration principale, chaque lien profond est exploré pendant 30 secondes supplémentaires.
Erreurs de lien profond
Si le test Robo ne trouve pas d'activité correspondant à votre lien profond, Test Lab ignore le lien. Les problèmes de liens profonds sont généralement dus à une différence entre le lien profond fourni et sa définition dans votre application. Vérifiez l'URL fournie et votre application pour détecter d'éventuelles fautes de frappe ou d'autres incohérences.
Assistance pour l'attribution de licences d'application
Test Lab est compatible avec les applications qui utilisent le service d'attribution de licences d'application proposé par Google Play. Pour vérifier correctement les licences lorsque vous testez votre application avec Test Lab, vous devez la publier sur le canal de production du Play Store. Pour tester votre application dans la version alpha ou bêta à l'aide de Test Lab, supprimez la vérification des licences avant d'importer votre application dans Test Lab.
Étapes suivantes
- Personnalisez vos tests à l'aide de scripts Robo.