Robo-Script ausführen (iOS und höher)
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Dokument wird beschrieben, wie Sie Robo-Scripts verwenden. Das sind Tests, mit denen manuelle QA-Aufgaben für mobile Apps automatisiert werden können und die Continuous Integration (CI) und Teststrategien vor der Markteinführung ermöglichen. Sie können beispielsweise Robo-Scripts verwenden, um einen gängigen Nutzerablauf zu testen oder bestimmte Eingaben für die Benutzeroberfläche wie einen Nutzernamen und ein Passwort bereitzustellen. Robo-Scripts sind eine Funktion des Robo-Tests.
Für Robo-Scripts wird der Robo-Test als Test-Engine verwendet. In der einfachsten Form besteht ein Robo-Script aus einer Reihe von UI-Aktionen wie enter text 'username' (Gib den Text „Nutzername“ ein) und dann tap the OK button (Tippe auf die Schaltfläche „OK“). Robo-Scripts können auch Aktionen wie das Warten auf das Erscheinen eines Elements, das Tippen an einer bestimmten Stelle innerhalb eines Elements und das Ausführen von adb
-Shell-Befehlen (Android Debug Bridge) enthalten.
Robo-Skripts haben folgende Vorteile gegenüber herkömmlichen Test-Frameworks:
Funktion
|
Beschreibung
|
Sehr robust
|
Robo-Scripts können erhebliche strukturelle und verhaltensbezogene Unterschiede zwischen App-Versionen und App-Instabilität tolerieren.
|
Offene Frage
|
Nachdem ein Robo-Script abgeschlossen ist, kann der Basis-Robo-Test die App weiter testen. Dieser Ansatz ermöglicht mehrere wichtige Anwendungsfälle. Mit einem Robo-Script können Sie beispielsweise eine App in einen bestimmten Zustand versetzen, indem Sie einen benutzerdefinierten Anmeldevorgang ausführen.
|
Mit Aufnahme- und Wiedergabefunktion
|
Sie müssen Robo-Skripts nicht manuell programmieren. Sie können mit dem Robo-Skript-Recorder in Android Studio aufgezeichnet werden. Für das Erstellen oder Ändern von Robo-Scripts sind in der Regel keine Kenntnisse in der mobilen Entwicklung erforderlich.
|
Flexibel
|
Robo-Scripts können mit nicht nativen UI-Elementen interagieren, die in Spielen häufig vorkommen.
|
Robo-Scripts werden während eines Robo-Tests bedingt ausgelöst. So können Nutzer das Verhalten von Robo anpassen, um in der Regel eine höhere Abdeckung zu erzielen oder bestimmte Funktionen zu testen. Im Gegensatz zu herkömmlichen Test-Frameworks unterstützen Robo-Scripts Folgendes:
- Verschiedene Auslösebedingungen, z. B. ein bestimmter App-Paketname, der aktiv ist (oder nicht), oder ein bestimmtes Element, das auf dem Bildschirm angezeigt wird (oder nicht).
- Ausführungssteuerungen, z. B. eine maximale Anzahl von Ausführungen, Priorität, relevante Crawling-Phase.
- Unkonventionelle Aktionstypen (bedingte, elementignorierende, bildschirmschließende).
Wir empfehlen, nach Möglichkeit Robo-Scripts zu verwenden, da sie sich mühelos verwalten lassen. Sie können beispielsweise ein Robo-Script für Folgendes verwenden:
- Wichtige Workflows durchlaufen, um die Hauptfunktionen einer App zu testen.
Sie können beispielsweise eine Anmeldung durchführen, den Status einer App nach dem ersten Start einrichten und einen neuen Nutzer registrieren.
- Wenn Sie Robo auf einen bestimmten Teil einer App konzentrieren, können Sie die Zeit für Robo-Tests optimal nutzen. Mit einem Robo-Script wird der Robo-Test zum relevanten Teil einer App geleitet, wo er einen vollständig automatisierten Crawl fortsetzt.
- Sie können eine App in einen bestimmten Status oder auf einen bestimmten Bildschirm bringen, um eine Analyse durchzuführen, z. B. um eine In-App-Mitteilung, eine Datenschutzerklärung oder ein bestimmtes Level eines Spiels zu analysieren.
- Führen Sie einen End-to-End-Instrumentierungstest durch, mit oder ohne Robo-Test, bei dem nach Abschluss des Robo-Scripts ein vollständig automatisierter Crawl fortgesetzt wird.
Mit erweiterten Robo-Skript-Funktionen können Sie Folgendes tun:
- Sie können Aktionen ausführen, bevor Robo mit dem Crawlen der zu testenden App beginnt oder nachdem ein Crawl abgeschlossen ist, z. B. die Daten der zu testenden App vor einem Crawl bereinigen oder Geräteeinstellungen ändern.
- Sie können Aspekte des Robo-Verhaltens während eines Crawls ändern, insbesondere:
- Robo soll bestimmte UI-Widgets oder App-Bildschirme ignorieren.
- Geben Sie eine benutzerdefinierte Aktion an, die Robo ausführen soll, wenn es von einem bestimmten Bildschirm zurückkehrt.
- Robo kann bestimmte Aktionen ausführen, wenn während eines Crawls ein bestimmter App-Bildschirm aufgerufen wird.
- Sie können das Crawling durch Robo vollständig anpassen. Verwenden Sie beispielsweise eine Kombination aus bedingten und nicht bedingten Aktionen, um die zu testende App während des Crawls im Hintergrund zu halten und gleichzeitig Gerätemanipulationen durchzuführen und alle Pop-up-Dialogfelder zu schließen, die dabei angezeigt werden.
Robo-Scripts ersetzen nicht alle Arten von Tests. Sie benötigen weiterhin Einheitentests, um Logikfehler auf niedriger Ebene in Ihrer App zu erkennen. Für diese Tests ist in der Regel keine Android- oder iOS-Umgebung erforderlich. Wir empfehlen, Robo-Script-Tests durch gezielte Instrumentierungstests zu ergänzen, die spezifische, detaillierte Zusicherungen zur Geschäftslogik enthalten können, die am besten im Code ausgedrückt werden.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-29 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-08-29 (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)."]]