In diesem Dokument wird beschrieben, wie Sie Robo-Scripts verwenden. Dabei handelt es sich um Tests, die manuelle QA-Aufgaben für mobile Apps automatisieren und Continuous Integration (CI) und Teststrategien vor der Markteinführung ermöglichen. Sie können beispielsweise Robo-Scripts verwenden, um eine gängige User Journey zu testen oder bestimmte Eingaben für die Benutzeroberfläche (UI) wie einen Nutzernamen und ein Passwort anzugeben. Robo-Scripts sind eine Funktion des Robo-Tests.
Robo-Scripts verwenden den Robo-Test als Test-Engine. In seiner einfachsten Form besteht ein Robo-Script aus einer Abfolge von UI-Aktionen wie Text „Nutzername“ eingeben und dann auf die Schaltfläche „OK“ tippen. Robo-Scripts können auch Aktionen wie das Warten auf das Erscheinen eines Elements, das Tippen auf einen bestimmten Punkt innerhalb eines Elements und das Ausführen von adb
-Shell-Befehlen (Android Debug Bridge) umfassen.
Robo-Scripts haben gegenüber herkömmlichen Test-Frameworks folgende Vorteile:
Funktion | Beschreibung |
Sehr robust | Robo-Scripts können erhebliche strukturelle und verhaltensbezogene Unterschiede zwischen App-Versionen und App-Unzuverlässigkeiten tolerieren. |
Offene Frage | Nachdem ein Robo-Script abgeschlossen ist, kann der grundlegende Robo-Test übernehmen und die App weiter testen. Dieser Ansatz für fortlaufende Tests ermöglicht mehrere wichtige Anwendungsfälle. Sie können beispielsweise ein Robo-Script verwenden, um eine App in einen bestimmten Status zu versetzen, indem Sie einen benutzerdefinierten Anmeldevorgang ausführen. |
Beschreibbar | Sie müssen Robo-Scripts nicht manuell programmieren. Sie können mit dem Robo-Script-Recorder in Android Studio aufgezeichnet werden. Für das Erstellen oder Ändern von Robo-Scripts sind in der Regel keine Kenntnisse 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 des Bots erweitern, um in der Regel eine größere Abdeckung oder eine bestimmte Funktion zu erreichen. Im Gegensatz zu herkömmlichen Test-Frameworks unterstützen Robo-Scripts Folgendes:
- Verschiedene Triggerbedingungen, z. B. ob ein bestimmter App-Paketname aktiv ist oder nicht oder ob ein bestimmtes Element auf dem Bildschirm angezeigt wird oder nicht.
- Ausführungssteuerungen, z. B. maximale Anzahl von Ausführungen, Priorität, relevante Crawling-Phase.
- Unkonventionelle Aktionstypen (bedingt, Element ignorieren, Bildschirm schließen)
Wir empfehlen, nach Möglichkeit Robo-Scripts zu verwenden, da sie mühelos gewartet werden können. Mit einem Robo-Script können Sie beispielsweise Folgendes tun:
- Gehen Sie wichtige Workflows durch, um die Hauptfunktionen einer App zu verstehen. Sie können beispielsweise eine Anmeldung ausführen, den Status einer App nach der ersten Ausführung einrichten und einen neuen Nutzer registrieren.
- Sie können Robo auf einen bestimmten Teil einer App ausrichten, um die Zeit für den Robo-Test optimal zu nutzen. Das Robo-Script leitet den Robo-Test zum relevanten Teil einer App, wo der Robo-Test einen vollautomatischen Crawling fortsetzt.
- Eine App in einen bestimmten Status oder zu einem 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 mit oder ohne Robo-Test durch. Wenn Sie einen Robo-Test verwenden, wird nach Abschluss des Robo-Scripts ein vollautomatischer Crawling fortgesetzt.
Mit erweiterten Funktionen von Robo-Scripts können Sie Folgendes tun:
- Sie können Aktionen ausführen, bevor Robo mit dem Crawling der zu testenden App beginnt oder nachdem ein Crawling abgeschlossen ist. Beispielsweise können Sie die Daten der zu testenden App vor einem Crawling bereinigen oder die Geräteeinstellungen ändern.
- Sie können Aspekte des Roboterverhaltens während eines Crawlings ändern, insbesondere:
- Robo kann dazu veranlasst werden, bestimmte UI-Widgets oder App-Bildschirme zu ignorieren.
- Geben Sie eine benutzerdefinierte Aktion an, die Robo ausführen soll, wenn er von einem bestimmten Bildschirm zurückgeht.
- Sie können Robo anweisen, bestimmte Aktionen auszuführen, wenn während eines Crawlings ein bestimmter App-Bildschirm angezeigt wird.
- Sie können die Crawling-Methode von Robo vollständig anpassen. Verwenden Sie beispielsweise eine Kombination aus bedingten und nicht bedingten Aktionen, um die getestete App während des gesamten Crawlings im Hintergrund zu halten, während Sie Gerätemanipulationen ausführen und alle Pop-up-Dialogfelder schließen, die angezeigt werden.
Robo-Scripts ersetzen nicht alle Arten von Tests. Sie benötigen jedoch weiterhin Unit-Tests, um Low-Level-Logikfehler in Ihrer App zu finden. 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 Behauptungen zur Geschäftslogik enthalten können, die am besten in Code ausgedrückt werden.
Nächste Schritte
Informationen zur Struktur, zu den Funktionen, zur Verwendung und zu den Aktionen von Robo-Scripts finden Sie im Referenzhandbuch für Robo-Scripts.