Exécuter un test Robo (Android)

Robo Test 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 de manière méthodique, en simulant automatiquement les activités de l'utilisateur. 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 rechercher des régressions.

Le test Robo capture les fichiers journaux, enregistre une série de captures d'écran annotées et crée ensuite une vidéo à partir de ces captures d'écran pour vous montrer l'utilisateur simulé les opérations qu'il a effectuées. Ces journaux, captures d'écran et vidéos peuvent vous aider à déterminer la cause première des plantages de l'application. Ces fonctionnalités de test Robo peuvent également vous aider à détecter les problèmes liés à l'interface utilisateur 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 la section Exécuter un script Robo.

Si vous souhaitez essayer la version bêta de Robo pour iOS et versions ultérieures, 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, le test Robo enregistre des statistiques pendant chaque exploration de test. Test Lab affiche les statistiques en haut de l'onglet "Test Robo" de la page des résultats de test :

  • Actions : nombre total d'actions effectuées lors de l'exploration, y compris les actions du script Robo, les actions semi-aléatoires et les directives Robo.

  • Activités: nombre d'activités distinctes couvertes pendant 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 graphe 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'interface utilisateur 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 modérément complexes. La valeur par défaut pour le délai avant expiration est de 300 secondes (5 minutes) pour les tests exécutés à partir d'Android Studio. la console Firebase, et 900 secondes (15 minutes) pour les tests exécutés à partir de via la ligne de commande gcloud.

Erreurs de délai d'attente de démarrage de l'application

Si le démarrage de votre application prend beaucoup de temps, le test Robo peut générer une erreur et ne pas pouvoir 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 révisant votre application pour la faire démarrer 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 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 une Script Robo et les 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 d'interface utilisateur Android. Cela permet aux tests d'explorer automatiquement votre interface utilisateur, mais cela signifie qu'ils doivent pouvoir extraire une hiérarchie d'UI Android pour un écran dans pour y exécuter des tests.

Si un écran de votre application n'utilise pas de widgets d'interface utilisateur Android, les tests Robo reviennent aux actions Monkey pour tester cet écran. Contrairement aux approches plus méthodiques Les actions de test Robo, Monkey Actions simulent simplement des événements d'appui sur des éléments emplacements 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 pressions arbitraires d'une action Monkey par un ensemble de pressions et d'interactions programmées via les tests de boucle de jeu Firebase Test Lab.

Intégration à Google Play

Vous pouvez utiliser un test Robo dans la Google Play Console lorsque vous importez et publier le fichier APK de votre application en utilisant la version alpha ou bêta ; Le test robot s'exécute sur un ensemble d'appareils physiques populaires situés dans différentes zones géographiques, ce qui offre une couverture de test sur différents facteurs de forme et configurations matérielles. Pour en savoir plus, consultez Utilisez 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 prend en charge la connexion à un compte test et vous permet également de saisir dans les champs de votre application. Pour la connexion personnalisée et d'autres textes prédéfinis test Robo peut saisir du texte dans EditText dans 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 qui s'excluent mutuellement pour prendre en charge la connexion:

  • Connexion personnalisée : si vous fournissez des identifiants de compte de test, vous devez indiquer à Robo Test où les saisir, et également fournir ces identifiants.

  • Connexion automatique: si l'écran de connexion de votre application utilise un compte pour l'authentification, le test Robo utilise un compte de test Google, fournir des identifiants de compte de test pour une connexion personnalisée.

Pour fournir des identifiants de compte de test en vue d'une connexion personnalisée, procédez comme suit:

  1. Sur la page Sélectionner des dimensions, sélectionnez Options supplémentaires.

  2. Sous Identifiant de compte test (facultatif), saisissez le nom d'utilisateur et les noms de ressources 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 du texte de saisie personnalisé pour d'autres champs de texte utilisés par votre application. Pour fournir du texte de saisie pour des champs supplémentaires, procédez comme suit :

  1. Sur la page Sélectionner des dimensions, sélectionnez Options supplémentaires.

  2. Sous Champs supplémentaires (facultatif), saisissez un ou plusieurs noms de ressources, puis les chaînes à saisir dans les champs de texte correspondants.

Erreurs de saisie de texte prédéfini {:#PRE-text}

Le test Robo recherche des champs EditText avec un nom de ressource Android qui correspond à une expression régulière fournie. Si Robo ne trouve pas de champ correspondant, il ne saisit pas votre texte, mais pour le reste, il poursuit son exploration comme d'habitude.

Vous pouvez fournir jusqu'à trois liens profonds prises en charge par votre application à des fins de test. Les liens profonds sont émis dans votre application en tant qu'intents Android ACTION_VIEW. Par conséquent, chaque lien doit correspondre à un filtre d'intent de 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é jusqu'à l'expiration spécifiée. Après l'exploration principale, chaque profondeur est explorée pendant 30 secondes supplémentaires chacun.

Si le test Robo ne trouve pas d'activité correspondant à votre lien profond, Test Lab ignore le lien. Les problèmes de liens profonds résultent généralement d'un écart entre le lien profond fourni et sa définition dans votre application. Vérifiez les deux l'URL fournie et votre application pour éviter les 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 de gestion des licences d'applications 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 en 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