In diesem Dokument wird beschrieben, wie Sie Robo-Scripts verwenden. Das sind Tests, mit denen manuelle QA-Aufgaben für mobile Apps automatisiert werden und die Strategien für Continuous Integration (CI) und Pre-Launch-Tests ermöglichen. Mit Robo-Scripts können Sie beispielsweise eine gängige User Journey testen oder bestimmte Eingaben auf der Benutzeroberfläche vornehmen, z. B. einen Nutzernamen und ein Passwort. Robo-Scripts sind eine Funktion von Robo-Tests.
Robo-Scripts verwenden Robo-Tests 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-Skripts 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 Android Debug Bridge-Shell-Befehlen (adb) enthalten.
Robo-Skripts haben gegenüber herkömmlichen Test-Frameworks die folgenden Vorteile:
| Funktion | Beschreibung |
| Sehr robust | Robo-Scripts können erhebliche strukturelle und verhaltensbezogene Unterschiede zwischen App-Versionen und App-Flakiness tolerieren. |
| Offene Frage | Nachdem ein Robo-Script abgeschlossen ist, kann der grundlegende Robo-Test die App weiter testen. Dieser Ansatz ermöglicht mehrere wichtige Anwendungsfälle. Beispielsweise können Sie ein Robo-Script verwenden, um eine App durch einen benutzerdefinierten Anmeldevorgang in einen bestimmten Zustand zu versetzen. |
| Aufnehmbar | Sie müssen Robo-Scripts 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 Mobilgeräteentwicklung 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 erweitern, um in der Regel eine größere Abdeckung zu erreichen oder bestimmte Funktionen anzusprechen. Im Gegensatz zu herkömmlichen Test-Frameworks unterstützen Robo-Skripts Folgendes:
- Verschiedene Auslösebedingungen, z. B. ob ein bestimmter App-Paketname aktiv ist oder nicht oder ob ein bestimmtes Element auf dem Bildschirm angezeigt wird oder nicht.
- Ausführungssteuerung, z. B. maximale Anzahl von Ausführungen, Priorität, relevante Crawling-Phase.
- Unkonventionelle Aktionstypen (bedingt, Element ignorierend, Bildschirm schließend).
Wir empfehlen, nach Möglichkeit Robo-Scripts zu verwenden, da sie mühelos verwaltet werden können. Mit einem Robo-Script können Sie beispielsweise Folgendes tun:
- 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.
- Konzentrieren Sie Robo auf einen bestimmten Teil einer App, um die Robo-Testzeit optimal zu nutzen. Das Robo-Script führt den Robo-Test zum relevanten Teil einer App, wo der Robo-Test dann einen vollständig automatisierten Crawl fortsetzt.
- Eine App in einen bestimmten Status oder auf einen bestimmten Bildschirm bringen, um eine Analyse durchzuführen, z. B. um eine In-App-Nachricht, 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, der nach Abschluss des Robo-Scripts einen vollständig automatisierten Crawl fortsetzt.
Mit den erweiterten Funktionen von Robo-Scripts können Sie Folgendes tun:
- Aktionen ausführen, bevor Robo mit dem Crawlen der zu testenden App beginnt oder nachdem ein Crawling abgeschlossen ist, z. B. die Daten der zu testenden App vor einem Crawling bereinigen oder Geräteeinstellungen ändern.
- Aspekte des Robo-Verhaltens während eines Crawls ändern, insbesondere:
- Sie können festlegen, dass Robo bestimmte UI-Widgets oder App-Bildschirme ignoriert.
- Geben Sie eine benutzerdefinierte Aktion an, die Robo ausführen soll, wenn er von einem bestimmten Bildschirm zurückkehrt.
- Sie können Robo anweisen, bestimmte Aktionen auszuführen, wenn während eines Crawls 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 zu testende App während des gesamten Crawls im Hintergrund zu halten, während Sie das Gerät manipulieren und alle Pop-up-Dialoge schließen, die währenddessen angezeigt werden.
Beachten Sie, dass Robo-Scripts nicht alle Arten von Tests ersetzen. Sie benötigen weiterhin Unit-Tests, um Logikfehler auf niedriger Ebene 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 Assertions zur Geschäftslogik enthalten können, die am besten im Code ausgedrückt werden.
Nächste Schritte
Informationen zur Struktur, zu den Funktionen, zur Verwendung und zu den Aktionen von Robo-Skripts finden Sie im Referenzhandbuch für Robo-Skripts.