Exécuter un script Robo (iOS+)

Ce document explique comment utiliser les scripts Robo, qui sont des tests qui automatisent les tâches manuelles de contrôle qualité pour les applications mobiles, et qui activent des stratégies d'intégration continue (CI) et de test pré-lancement. Par exemple, vous pouvez utiliser des scripts Robo pour tester un parcours utilisateur courant 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é du test Robo.

Les scripts Robo utilisent le test Robo comme moteur de test. Dans sa forme la plus basique, 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, le tapotement à 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 de l'application ainsi que sa fragilité.
Question ouverte Une fois l'exécution d'un script Robo terminée, 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 à un état particulier en effectuant un flux de connexion personnalisé.
Enregistrable Vous n'avez pas besoin de coder manuellement des 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 Robo peuvent interagir avec des éléments d'interface utilisateur non natifs, couramment utilisés 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'améliorer le comportement de Robo, généralement pour obtenir une meilleure couverture ou cibler des fonctionnalités spécifiques. Contrairement aux frameworks de test traditionnels, les scripts Robo sont compatibles avec les éléments suivants:

  • Différentes conditions de déclenchement, par exemple, un nom de package d'application particulier qui est actif (ou non) ou un élément spécifique affiché à l'écran (ou non).
  • Commandes d'exécution, par exemple, nombre maximal d'exécutions, priorité, é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 dans la mesure du possible, car ils peuvent être gérés sans effort. Par exemple, vous pouvez utiliser un script Robo pour effectuer les opérations suivantes:

  • Parcourez les principaux workflows pour aller au cœur de la fonctionnalité 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 spécifique d'une application pour tirer le meilleur parti du temps de test Robo. Le script Robo guide le test Robo pour qu'il atteigne la partie pertinente d'une application, où le test Robo reprend une exploration entièrement automatisée.
  • Placer une application dans un état ou un écran spécifique pour effectuer une analyse, par exemple pour analyser un message dans l'application, des règles de confidentialité ou un niveau spécifique d'un jeu.
  • Effectuez un test d'instrumentation de bout en bout, avec ou sans test Robo qui reprend un crawl entièrement automatisé 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 exploration, par exemple, nettoyez les données de l'application en cours de test avant une exploration ou modifiez les paramètres de l'appareil.
  • Modifiez certains aspects du comportement de Robo pendant une exploration, en particulier :
    • Faire en sorte que Robo ignore certains widgets d'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'un crawl.
  • Personnaliser entièrement la façon dont Robo effectue un crawl Par exemple, utilisez une combinaison d'actions conditionnelles et non conditionnelles pour maintenir l'application en cours de test en arrière-plan tout au long de l'exploration, tout en effectuant des manipulations de l'appareil et en fermant les boîtes de dialogue pop-up qui s'affichent au cours du processus.

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 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 avec 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 en code.

Étapes suivantes