Exécuter un script Robo (Android)

Ce document décrit comment utiliser les scripts Robo , qui sont des tests qui automatisent les tâches manuelles d'assurance qualité pour les applications mobiles et permettent des stratégies d'intégration continue (CI) et de tests préalables au lancement. Par exemple, vous pouvez utiliser des scripts Robo pour tester un parcours utilisateur commun ou fournir une entrée d'interface utilisateur (UI) spécifique, comme un nom d'utilisateur et un mot de passe. Les scripts Robo sont une fonctionnalité de Robo test .

Avec les scripts Robo, vous vous enregistrez en train de parcourir un flux de travail dans votre application, puis vous téléchargez cet enregistrement sur la console Firebase pour l'exécuter dans les tests Robo. Lorsque vous exécutez un test Robo avec un script joint, Robo commence par parcourir vos actions pré-scriptées, puis explore l'application comme d'habitude.

Les scripts Robo utilisent Robo test comme moteur de test. Dans sa forme la plus basique, un script Robo consiste en une séquence d'actions d'interface utilisateur telles que saisir le texte « nom d'utilisateur » , puis appuyer sur le bouton OK . Les scripts robots peuvent également inclure des actions telles que attendre qu'un élément apparaisse, appuyer à un point spécifique d'un élément et exécuter des commandes shell Android Debug Bridge ( adb ).

Les scripts robots présentent les avantages suivants par rapport aux frameworks de test traditionnels :

Aptitude Description
Très robuste Les scripts robots peuvent tolérer des différences structurelles et comportementales significatives entre les versions d'applications et la fragilité des applications.
Ouvert Une fois le script Robo terminé, le test Robo de base peut prendre le relais et continuer à tester l'application. Cette approche de test continu permet plusieurs cas d’utilisation clés. Par exemple, vous pouvez utiliser un script Robo pour amener une application dans un état particulier en effectuant un flux de connexion personnalisé.
Enregistrable Vous n'avez pas besoin de coder manuellement les scripts Robo. Ils peuvent être enregistrés à l'aide de l'enregistreur de script Robo dans Android Studio. La création ou la modification de scripts Robo ne nécessite généralement aucune connaissance en développement mobile.
Flexible Les scripts robots peuvent interagir avec des éléments d'interface utilisateur non natifs courants dans les jeux.

Les scripts Robo sont déclenchés de manière conditionnelle lors d'un test Robo, ce qui permet aux utilisateurs d'augmenter le comportement de Robo, généralement pour obtenir une plus grande couverture ou cibler des fonctionnalités spécifiques. Contrairement aux frameworks de test traditionnels, les scripts Robo prennent en charge les éléments suivants :

  • Diverses conditions de déclenchement, par exemple, un nom de package d'application particulier étant actif (ou non) ou un élément spécifique affiché à l'écran (ou non).
  • L'exécution contrôle, par exemple, un nombre maximum d'exécutions, la priorité et l'étape d'analyse pertinente.
  • Types d'actions non conventionnelles (conditionnelles, ignorant les éléments, fermant l'écran).

Nous vous recommandons d'utiliser des scripts Robo autant que possible, car ils peuvent être maintenus sans effort. Par exemple, vous pouvez utiliser un script Robo pour effectuer les opérations suivantes :

  • Parcourez les flux de travail importants pour accéder au cœur des fonctionnalités d’une application. Par exemple, vous pouvez effectuer une connexion, configurer l'état d'une application après le premier lancement et enregistrer un nouvel utilisateur.
  • Concentrez Robo sur une partie particulière d'une application pour tirer le meilleur parti du temps de test Robo. Le script Robo guide le test Robo pour atteindre la partie pertinente d'une application, où le test Robo reprend une exploration entièrement automatisée.
  • Amenez une application dans un état ou un écran spécifique pour effectuer une analyse, par exemple pour analyser un message dans l'application, une politique de confidentialité ou un niveau spécifique d'un jeu.
  • Effectuez un test d'instrumentation de bout en bout, avec ou sans test Robo reprenant une analyse entièrement automatisée une fois le script Robo terminé.

Utilisez des fonctionnalités de script Robo plus avancées pour effectuer les opérations suivantes :

  • Effectuez des actions avant que Robo ne commence à explorer l'application en cours de test ou après la fin d'une analyse, par exemple, nettoyez les données de l'application en cours de test avant une analyse ou modifiez les paramètres de l'appareil.
  • Modifier certains aspects du comportement du Robo lors d'un crawl, notamment :
    • Faites en sorte que Robo ignore certains widgets de l'interface utilisateur ou écrans d'application.
    • Fournissez une action personnalisée que Robo doit effectuer lors du retour en arrière à partir d'un écran particulier.
    • Demandez à Robo d'effectuer des actions spécifiques chaque fois qu'un écran d'application particulier est rencontré lors d'une analyse.
  • Personnalisez entièrement la façon dont Robo effectue une analyse. Par exemple, utilisez une combinaison d'actions conditionnelles et non conditionnelles pour conserver l'application testée en arrière-plan tout au long de l'analyse, tout en effectuant des manipulations sur l'appareil et en fermant toutes les boîtes de dialogue contextuelles qui apparaissent en cours de route.

Gardez à l’esprit que les scripts Robo ne remplacent pas toutes sortes de tests. Vous avez toujours besoin de tests unitaires pour détecter les bogues logiques de bas niveau dans votre application ; ces tests ne nécessitent généralement pas d'environnement Android ou iOS. Nous vous recommandons de compléter les tests de script Robo par des tests d'instrumentation ciblés pouvant contenir des assertions spécifiques et détaillées sur la logique métier, qui sont mieux exprimées dans le code.

Enregistrez un script Robo à l'aide de Test Lab dans Android Studio

L'enregistreur de scripts Robo dans Android Studio vous permet d'enregistrer des scripts Robo en interagissant directement avec l'application sur votre appareil. Suivez ces instructions pour démarrer avec les scripts Robo via l'outil Firebase dans Android Studio :

  1. Ouvrez Android Studio et sélectionnez Outils -> Firebase .

  2. Dans le volet Firebase, cliquez sur Enregistrer le script Robo et utilisez-le pour guider le test Robo .

  3. Cliquez sur Enregistrer le script Robo . La boîte de dialogue Sélectionner une cible de déploiement s'affiche.

  4. Sélectionnez l'appareil sur lequel vous souhaitez enregistrer le script Robo.

  5. Après avoir enregistré le script Robo sur l'appareil, enregistrez le fichier en tant que fichier JSON à l'emplacement souhaité.

  6. Ouvrez la page Test Lab dans la console Firebase et téléchargez le fichier de script JSON et l'APK de l'application.

  7. Cliquez sur le bouton Continuer . Vous êtes invité à sélectionner l'appareil et le niveau d'API. Une fois le script de test terminé, Test Lab génère le rapport de test.

  8. (Facultatif) Pour copier ou télécharger le logcat du rapport de test et de la vidéo, cliquez sur Afficher les fichiers sources .

Par défaut, les mécanismes de robustesse du script Robo l’empêchent d’échouer prématurément. Si vous choisissez le mode d'exécution strict et qu'un script Robo échoue à un moment donné, Test Lab abandonne toutes les étapes suivantes du script et reprend une analyse Robo normale. Le plus souvent, les scripts Robo échouent parce que Robo ne trouve pas un élément requis à l'écran. Pour éviter les échecs, assurez-vous que la navigation dans votre application est prévisible et que vos écrans sont affichés dans un ordre déterministe.

Exécuter un script Robo dans Test Lab

Pour exécuter un script Robo dans Test Lab, suivez ces instructions :

  1. Ouvrez la page Test Lab dans la console Firebase.

  2. Téléchargez l'APK ou l'AAB de l'application dans le champ App APK ou AAB .

  3. Téléchargez votre fichier de script Robo enregistré ou créé manuellement dans le champ Script Robo (facultatif) .

Fournir un script Robo à un test Robo local

Pour fournir un script Robo à une exécution de test Robo local, utilisez l'option de test Robo suivante :

--robo-script-file <robo-script-path>

Remplacez <robo-script-path> par un chemin d'accès à votre fichier de script Robo dans le système de fichiers local. Suivez les instructions pour un test Robo local .

Spécifier un script Robo dans un appel de test gcloud CLI

Pour spécifier un script Robo dans un appel de test gcloud CLI, utilisez l'option gcloud CLI suivante :

--robo-script = <robo-script-path>

Remplacez <robo-script-path> par un chemin d'accès à votre fichier de script Robo dans le système de fichiers local ou dans Cloud Storage à l'aide de la notation gs:// . Par exemple:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Prochaines étapes