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 répétable vous permet d'utiliser le test Robo pour valider les corrections de bugs et tester les régressions.
Le test Robo capture des 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 première des plantages d'applications. Ces fonctionnalités de test Robo peuvent également vous aider à détecter les problèmes liés à l'UI de votre application.
En plus d'exécuter des tests Robo réguliers, 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 des tests Robo
Pour vous aider à interpréter les résultats de vos tests Robo, Robo 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 vos tests :
Actions : nombre total d'actions effectuées lors de l'exploration, y compris les actions de script Robo, les actions semi-aléatoires 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 Robo test sous la forme d'un graphique d'exploration. Le graphique comporte des écrans comme nœuds et des actions comme 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 la fin du test Robo
En fonction de 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'attente 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 pas pouvoir l'explorer. Cela ne se produit que dans les cas où le temps de démarrage est extrêmement long. Pour résoudre le problème, vous devez modifier votre application afin qu'elle démarre plus rapidement.
Plus de contrôle avec les scripts Robo
Parfois, vous avez besoin de plus de contrôle sur vos tests. Par exemple, vous pouvez tester un parcours utilisateur courant ou fournir des entrées d'UI spécifiques, 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 directement des actions sur les widgets de l'UI Android. Cela permet aux tests d'explorer automatiquement votre UI, mais cela signifie également qu'ils doivent être en mesure d'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 tactiles à des emplacements semi-aléatoires sur 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 Monkey arbitraires par un ensemble d'interactions et d'appuis programmés à l'aide des 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 du canal alpha ou bêta. Les tests Robo s'exécutent sur un ensemble d'appareils physiques populaires provenant de différentes zones géographiques, ce qui permet de couvrir différents facteurs de forme et configurations matérielles. Pour en savoir plus, consultez Utiliser les rapports pré-lancement pour identifier les problèmes.
Tester la connexion au compte et la 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 les autres saisies de texte prédéfini, 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 Accéder aux ressources.
Connexion
Le test Robo propose deux méthodes mutuellement exclusives pour la connexion :
Connexion personnalisée : si vous fournissez des identifiants de compte de test, vous devez indiquer à Robo Test où les saisir et fournir ces identifiants.
Connexion automatique : si votre application comporte un écran de connexion qui utilise un compte Google pour l'authentification, le test Robo utilise un compte test Google, sauf si vous fournissez des identifiants de compte de test pour une connexion personnalisée.
Pour fournir les identifiants d'un compte de test pour la connexion personnalisée, procédez comme suit :
Sur la page Sélectionner des dimensions, sélectionnez 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 d'entrée personnalisé pour les autres champs de texte utilisés par votre application. Pour fournir un texte d'entrée pour des champs supplémentaires, procédez comme suit :
Sur la page Sélectionner des dimensions, sélectionnez 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 liées à la 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 n'insère pas votre texte, mais continue son exploration comme d'habitude.
Liens profonds
Vous pouvez fournir jusqu'à trois liens profonds compatibles avec votre application à des fins de test.
Les liens profonds sont émis vers 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
) et explorée jusqu'au délai d'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 aucune activité correspondant à votre lien profond, Test Lab ignore le lien. Les problèmes de liens profonds sont généralement dus à une incohé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 autres incohérences.
Assistance pour l'attribution de licences d'application
Test Lab est compatible avec les applications qui utilisent le service Gestion des licences d'application proposé par Google Play. Pour vérifier correctement la licence lorsque vous testez votre application avec Test Lab, vous devez publier votre application sur le canal de production du Play Store. Pour tester votre application dans le canal alpha ou bêta à l'aide de Test Lab, supprimez le contrôle de licence avant d'importer votre application dans Test Lab.
Étapes suivantes
- Personnalisez vos tests à l'aide de scripts Robo.