Exécuter un script Robo (Android)

Ce document explique comment utiliser les scripts Robo, qui sont des tests qui automatisent les tâches d'assurance qualité manuelles pour les applications mobiles et permettent l'intégration continue (CI) et les stratégies de test pré-lancement. Par exemple, vous pouvez utiliser des scripts Robo pour tester un parcours utilisateur courant ou fournir des entrées spécifiques dans l'interface utilisateur, 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 workflow dans votre application, puis vous importez cet enregistrement dans la console Firebase pour l'exécuter dans les tests Robo. Lorsque vous exécutez un test Robo avec un script, Robo exécute d'abord les actions prédéfinies dans le script, puis explore l'application comme d'habitude.

Les scripts Robo utilisent Robo test comme moteur de test. Dans sa forme la plus élémentaire, un script Robo consiste en une séquence d'actions d'interface utilisateur, comme saisir le texte "nom d'utilisateur" , puis appuyer sur le bouton OK. Les scripts Robo peuvent également inclure des actions telles que l'attente de l'affichage d'un élément, l'appui sur un point spécifique d'un élément et l'exécution de commandes shell Android Debug Bridge (adb).

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

Capacité Description
Très robuste Les scripts Robo peuvent tolérer des différences structurelles et comportementales importantes entre les versions d'application et l'instabilité de l'application.
Question ouverte Une fois qu'un script Robo est 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 mettre une application dans un état particulier en effectuant un flux de connexion personnalisé.
Avec message enregistré Vous n'avez pas besoin de coder manuellement les scripts Robo. Vous pouvez les enregistrer à l'aide de l'enregistreur de scripts 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 Robo 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 couverture plus large ou cibler des fonctionnalités spécifiques. Contrairement aux frameworks de test traditionnels, les scripts Robo sont compatibles avec les éléments suivants :

  • Diverses conditions de déclenchement, par exemple, un nom de package d'application particulier actif (ou non) ou un élément spécifique affiché à l'écran (ou non).
  • Contrôles d'exécution, par exemple, un nombre maximal d'exécutions, une priorité, une étape d'exploration pertinente.
  • Types d'actions non conventionnels (conditionnels, ignorant les éléments, fermant l'écran).

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

  • Parcourir des workflows importants pour accéder au cœur des fonctionnalités d'une application. Par exemple, vous pouvez vous connecter, configurer l'état d'une application après le premier lancement et enregistrer un nouvel utilisateur.
  • Concentrer Robo sur une partie spécifique d'une application pour tirer le meilleur parti du temps de test Robo. Le script Robo guide le test Robo vers la partie pertinente d'une application, où le test Robo reprend une exploration entièrement automatisée.
  • Mettre une application dans un état ou un écran spécifique pour effectuer une analyse, par exemple, pour analyser un message intégré à l'application, une règle de confidentialité ou un niveau spécifique d'un jeu.
  • Effectuer un test d'instrumentation de bout en bout, avec ou sans reprise d'une exploration entièrement automatisée par le test Robo une fois le script Robo terminé.

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

  • Effectuer des actions avant que Robo ne commence à explorer l'application testée ou une fois l'exploration terminée, par exemple, nettoyer les données de l'application testée avant une exploration ou modifier les paramètres de l'appareil.
  • Modifier certains aspects du comportement de Robo lors d'une exploration, en particulier :
    • Faire en sorte que Robo ignore certains widgets d'interface utilisateur ou écrans d'application.
    • Fournir une action personnalisée à Robo pour qu'il l'effectue lorsqu'il revient en arrière à partir d'un écran spécifique.
    • Faire en sorte que Robo effectue des actions spécifiques chaque fois qu'un écran d'application particulier est rencontré lors d'une exploration.
  • Personnaliser entièrement la façon dont Robo effectue une exploration. Par exemple, utilisez une combinaison d'actions conditionnelles et non conditionnelles pour que l'application testée reste en arrière-plan tout au long de l'exploration, tout en effectuant des manipulations sur l'appareil et en ignorant toutes les boîtes de dialogue pop-up qui s'affichent en cours de route.

N'oubliez pas que les scripts Robo ne remplacent pas tous les types de tests. Vous avez toujours besoin de tests unitaires pour détecter les bugs de logique 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 scripts Robo par des tests d'instrumentation ciblés qui peuvent comporter des assertions spécifiques et détaillées sur la logique métier, qui sont mieux exprimées dans le code.

Enregistrer 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 commencer à utiliser les scripts Robo à l'aide de l'outil Firebase dans Android Studio :

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

  2. Dans le volet Firebase, cliquez sur Record Robo Script and Use it to Guide Robo Test (Enregistrer un script Robo et l'utiliser pour guider le test Robo).

  3. Cliquez sur Record Robo script (Enregistrer un script Robo). La boîte de dialogue "Select Deployment Target" (Sélectionner une cible de déploiement) s'affiche.

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

  5. Une fois le script Robo enregistré sur l'appareil, enregistrez le fichier au format JSON à l'emplacement souhaité.

  6. Ouvrez la page Test Lab dans la console Firebase, puis importez le fichier de script JSON et l'APK de l'application.

  7. Cliquez sur le bouton Continue (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 la vidéo, cliquez sur View Source Files (Afficher les fichiers sources).

Par défaut, les mécanismes de robustesse des scripts Robo empêchent leur échec précoce. 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 exploration Robo normale. Le plus souvent, les scripts Robo échouent, car Robo ne trouve pas d'élément requis à l'écran. Pour éviter les échecs, assurez-vous que la navigation de votre application est prévisible et que vos écrans s'affichent dans un ordre déterministe.

Exécuter un script Robo dans Test Lab

Pour exécuter un script Robo dans Test Lab, procédez comme suit :

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

  2. Importez l'APK ou l'AAB de l'application dans le champ App APK or AAB (APK ou AAB de l'application).

  3. Importez le fichier de script Robo enregistré ou créé manuellement dans le champ Robo script (optional) (Script Robo (facultatif)).

Fournir un script Robo pour une exécution de 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 une exécution de test Robo local run.

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 le flag gcloud CLI suivant :

--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://. Exemple :

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

Étapes suivantes