Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document explique 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 avant lancement. Par exemple, vous pouvez utiliser des scripts Robo pour tester un parcours utilisateur courant ou fournir des entrées spécifiques de l'interface utilisateur (UI), 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 élémentaire, un script Robo se compose d'une séquence d'actions d'UI telles que enter text 'username' (saisir le texte "nom d'utilisateur") puis tap the OK button (appuyer sur le bouton OK). Les scripts Robo peuvent également inclure des actions telles que l'attente de l'apparition 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, ainsi que l'instabilité des applications.
Question ouverte
Une fois un 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é.
Avec message enregistrable
Vous n'avez pas besoin de coder manuellement les scripts Robo. Vous pouvez les enregistrer à l'aide de l'enregistreur de script Robo dans Android Studio. En règle générale, la création ou la modification de scripts Robo ne nécessite aucune connaissance en développement mobile.
Flexible
Les scripts Robo peuvent interagir avec des éléments d'UI 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 étant actif (ou non) ou un élément spécifique étant affiché à l'écran (ou non).
Contrôles d'exécution, par exemple, nombre maximal d'exécutions, priorité, étape d'exploration pertinente.
Types d'actions non conventionnels (conditionnelles, 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 :
Parcourez les workflows 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 spécifique d'une application pour exploiter au maximum le 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.
Amenez une application dans un état ou sur un écran spécifique pour effectuer une analyse, par exemple pour analyser un message intégré à 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, en reprenant une exploration entièrement automatisée une fois le script Robo terminé.
Utilisez des fonctionnalités plus avancées des scripts Robo pour effectuer les opérations suivantes :
Effectuez des actions avant que Robo ne commence à explorer l'application testée ou après la fin d'une exploration. Par exemple, nettoyez les données de l'application testée avant une exploration ou modifiez les paramètres de l'appareil.
Modifiez certains aspects du comportement de Robo lors d'une exploration, en particulier :
Faites en sorte que Robo ignore certains widgets d'UI ou écrans d'application.
Fournissez une action personnalisée que Robo doit effectuer lors du retour en arrière à partir d'un écran spécifique.
Faites effectuer des actions spécifiques à Robo chaque fois qu'un écran d'application particulier est rencontré lors d'une exploration.
Personnalisez entièrement la façon dont Robo effectue l'exploration. Par exemple, utilisez une combinaison d'actions conditionnelles et non conditionnelles pour maintenir l'application testée en arrière-plan tout au long de l'exploration, tout en effectuant des manipulations sur l'appareil et en fermant les boîtes de dialogue pop-up qui apparaissent 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 ni iOS. Nous vous recommandons de compléter les tests de script Robo par des tests d'instrumentation ciblés qui peuvent contenir des assertions spécifiques et détaillées sur la logique métier, qui sont mieux exprimées dans le code.
Étapes suivantes
Pour en savoir plus sur la structure, les fonctionnalités, l'utilisation et les actions des scripts Robo, consultez le guide de référence des scripts Robo.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nThis document describes how to use *Robo scripts* , which are tests that automate\nmanual QA tasks for mobile apps, and enable continuous integration (CI) and\npre-launch testing strategies. For example, you can use Robo scripts to test a\ncommon user journey or provide specific user interface (UI) input, like a\nusername and password. Robo scripts are a feature of [Robo\ntest](/docs/test-lab/ios/robo-ux-test).\n\nRobo scripts use [Robo test](/docs/test-lab/android/robo-ux-test)\nas the test engine. In its most basic form, a Robo script consists of a\nsequence of UI actions like *enter text 'username'* and\nthen *tap the OK button* . Robo scripts can also include actions like waiting\nfor an element to appear, tapping at a specific point within an element, and\nexecuting Android Debug Bridge (`adb`) shell commands.\n\nRobo scripts have the following advantages over traditional testing frameworks:\n\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Capability** | **Description** |\n| Highly robust | Robo scripts can tolerate significant structural and behavioral differences between app versions and app flakiness. |\n| Open-ended | After a Robo script completes, the base Robo test can take over and continue testing the app. This continued testing approach enables several key use cases. For example, you can use a Robo script to bring an app into a particular state by performing a custom sign-in flow. |\n| Recordable | You don't need to code Robo scripts manually. They can be recorded using the Robo script recorder in Android Studio. Creating or modifying Robo scripts typically doesn't require any knowledge of mobile development. |\n| Flexible | Robo scripts can interact with non-native UI elements that are common in games. |\n\nRobo scripts are conditionally triggered during a Robo test, which lets users\naugment Robo's behavior - typically to achieve greater coverage or target\nspecific functionality. In contrast to traditional testing frameworks,\nRobo scripts support the following:\n\n- Various triggering conditions, for example, a particular app package name being active (or not) or a specific element being displayed on the screen (or not).\n- Execution controls, for example, a maximum number of executions, priority, relevant crawl stage.\n- Unconventional action types (conditional, element-ignoring, screen-closing).\n\nWe recommend that you use Robo scripts whenever possible because they can be\nmaintained effortlessly. For example, you can use a Robo script to do the\nfollowing:\n\n- Navigate significant workflows to get to the core of an app's functionality. For example, you can perform a sign-in, set up an app's state after the first launch, and register a new user.\n- Focus Robo on a particular part of an app to get the most out of Robo test time. Robo script guides Robo test to reach the relevant part of an app, where Robo test resumes a fully automated crawl.\n- Bring an app into a specific state or screen to perform an analysis, for example, to analyze an in-app message, privacy policy, or specific level of a game.\n- Perform an end-to-end instrumentation test, with or without Robo test resuming a fully automated crawl after the Robo script is complete.\n\nUse more advanced Robo script features to do the following:\n\n- Perform actions before Robo starts crawling the app-under-test or after a crawl is finished, for example, clean the app-under-test data before a crawl, or change device settings.\n- Change aspects of Robo behavior during a crawl, in particular:\n - Make Robo ignore some UI widgets or app screens.\n - Provide a custom action for Robo to perform when backtracking from a particular screen.\n - Make Robo perform specific actions whenever a particular app screen is encountered during a crawl.\n- Completely customize how Robo performs a crawl. For example, use a combination of conditional and non-conditional actions to keep the app-under-test in the background throughout the crawl, while performing device manipulations and dismissing any popup dialogs that appear along the way.\n\nKeep in mind that Robo scripts don't replace all kinds of tests. You still\nneed unit tests to catch low-level logic bugs in your app; these tests\ntypically don't require an Android or iOS environment. We recommend that you\nsupplement Robo script tests with targeted instrumentation tests that can have\nspecific, detailed assertions about business logic, which are best expressed\nin code.\n\nNext steps\n\n- To learn about Robo scripts structure, capabilities, usage, and actions, see\n the [Robo scripts reference guide](/docs/test-lab/android/robo-scripts-reference#ios-support-for-robo-scripts).\n\n- [Run a Robo test](/docs/test-lab/ios/robo-ux-test)."]]