In diesem Dokument wird beschrieben, wie Sie Robo-Skripts verwenden. Das sind Tests, mit denen manuelle QA-Aufgaben für mobile Apps automatisiert werden können und die Continuous Integration (CI) und Pre-Launch-Teststrategien ermöglichen. Sie können Robo-Skripts beispielsweise verwenden, um einen gängigen Nutzerablauf zu testen oder bestimmte Eingaben für die Benutzeroberfläche zu machen, z. B. einen Nutzernamen und ein Passwort. Robo-Skripts sind eine Funktion von Robo-Tests.
Mit Robo-Skripts zeichnen Sie auf, wie Sie einen Workflow in Ihrer App durchlaufen. Anschließend laden Sie diese Aufzeichnung in die Firebase Konsole hoch, um sie in Robo Tests auszuführen. Wenn Sie einen Robo-Test mit einem angehängten Skript durchführen, folgt Robo zuerst den vordefinierten Aktionen und prüft dann die App wie gewohnt.
Robo-Skripts verwenden Robo-Tests
als Test-Engine. In der einfachsten Form besteht ein Robo-Skript aus einer
Abfolge von UI-Aktionen wie Text eingeben: „Nutzername“ und
dann auf die Schaltfläche „OK“ tippen. Robo-Skripts 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 Android Debug Bridge-Shellbefehlen (adb) enthalten.
Robo-Skripts haben gegenüber herkömmlichen Test-Frameworks folgende Vorteile:
| Funktion | Beschreibung |
| Sehr robust | Robo-Skripts können erhebliche strukturelle und verhaltensbedingte Unterschiede zwischen App-Versionen und App-Instabilität tolerieren. |
| Offene Frage | Nachdem ein Robo-Skript abgeschlossen ist, kann der Basis-Robo-Test die App weiter testen. Dieser Ansatz ermöglicht mehrere wichtige Anwendungsfälle. Sie können beispielsweise ein Robo-Skript verwenden, um eine App in einen bestimmten Zustand zu versetzen, indem Sie einen benutzerdefinierten Anmeldevorgang ausführen. |
| Mit Aufnahme- & Wiedergabefunktion | Sie müssen Robo-Skripts nicht manuell codieren. Sie können mit dem Robo-Skript-Recorder in Android Studio aufgezeichnet werden. Für das Erstellen oder Ändern von Robo Skripts sind in der Regel keine Kenntnisse in der mobilen Entwicklung erforderlich. |
| Flexibel | Robo-Skripts können mit nicht nativen UI-Elementen interagieren, die in Spielen häufig vorkommen. |
Robo-Skripts 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 erzielen oder bestimmte Funktionen zu testen. Im Gegensatz zu herkömmlichen Test-Frameworks, unterstützen Robo-Skripts Folgendes:
- Verschiedene Auslösebedingungen, z. B. dass ein bestimmter App-Paketname aktiv ist (oder nicht) oder dass ein bestimmtes Element auf dem Bildschirm angezeigt wird (oder nicht).
- Ausführungssteuerungen, z. B. eine maximale Anzahl von Ausführungen, Priorität, relevante Crawl-Phase.
- Unkonventionelle Aktionstypen (bedingt, Element ignorieren, Bildschirm schließen).
Wir empfehlen, Robo-Skripts nach Möglichkeit zu verwenden, da sie mühelos verwaltet werden können. Sie können ein Robo-Skript beispielsweise für Folgendes verwenden:
- Wichtige Workflows durchlaufen, um zum Kern der App-Funktionalität zu gelangen. Sie können sich beispielsweise anmelden, den App-Status nach dem ersten Start einrichten und einen neuen Nutzer registrieren.
- Robo auf einen bestimmten Teil einer App konzentrieren, um die Zeit für Robo-Tests optimal zu nutzen Das Robo-Skript führt den Robo-Test zum relevanten Teil einer App, wo der Robo-Test einen vollständig automatisierten Crawl fortsetzt.
- Eine App in einen bestimmten Zustand oder Bildschirm versetzen, um eine Analyse durchzuführen, z. B. um eine In-App-Nachricht, eine Datenschutzerklärung oder ein bestimmtes Level eines Spiels zu analysieren.
- Einen End-to-End-Instrumentierungstest durchführen, mit oder ohne Robo-Test der nach Abschluss des Robo-Skripts einen vollständig automatisierten Crawl fortsetzt.
Mit erweiterten Robo-Skript-Funktionen können Sie Folgendes tun:
- 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.
- Aspekte des Robo-Verhaltens während eines Crawls ändern, insbesondere:
- Robo einige UI-Widgets oder App-Bildschirme ignorieren lassen.
- Eine benutzerdefinierte Aktion für Robo bereitstellen, die ausgeführt werden soll, wenn von einem bestimmten Bildschirm zurückgegangen wird.
- Robo bestimmte Aktionen ausführen lassen, wenn während eines Crawls ein bestimmter App-Bildschirm aufgerufen wird.
- Anpassen, wie Robo einen Crawl ausführt. Sie können beispielsweise eine Kombination aus bedingten und nicht bedingten Aktionen verwenden, um die zu testende App während des gesamten Crawls im Hintergrund zu halten, während Sie Geräte manipulieren und alle Pop-up-Dialogfelder schließen, die dabei angezeigt werden.
Robo-Skripts ersetzen nicht alle Arten von Tests. 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-Skript-Tests mit gezielten Instrumentierungstests zu ergänzen, die bestimmte, detaillierte Zusicherungen zur Geschäftslogik enthalten können, die am besten im Code ausgedrückt werden.
Robo-Skript mit Test Lab in Android Studio aufzeichnen
Mit dem Robo-Skript-Recorder in Android Studio können Sie Robo-Skripts aufzeichnen, indem Sie direkt mit der App auf Ihrem Gerät interagieren. Folgen Sie dieser Anleitung um mit Robo-Skripts über das Firebase-Tool in Android Studio zu beginnen:
Öffnen Sie Android Studio und wählen Sie Tools -> Firebase aus.
Klicken Sie im Firebase-Bereich auf Robo-Skript aufzeichnen und zum Steuern von Robo-Tests verwenden.
Klicken Sie auf Robo-Skript aufzeichnen. Das Dialogfeld „Bereitstellungsziel auswählen“ wird angezeigt.
Wählen Sie das Gerät aus, auf dem Sie das Robo-Skript aufzeichnen möchten.
Nachdem Sie das Robo-Skript auf dem Gerät aufgezeichnet haben, speichern Sie die Datei als JSON-Datei am gewünschten Speicherort.
Öffnen Sie die Test Lab Seite in der Firebase Konsole und laden Sie die JSON Skriptdatei und das APK der Anwendung hoch.
Klicken Sie auf Weiter. Sie werden aufgefordert, das Gerät und das API-Level auszuwählen. Nach Abschluss des Testskripts generiert Test Lab den Testbericht.
Optional: Wenn Sie das Logcat des Testberichts und das Video kopieren oder herunterladen möchten, klicken Sie auf Quelldateien ansehen.
Standardmäßig verhindern die Robustheitsmechanismen von Robo-Skripts, dass sie frühzeitig fehlschlagen.
Wenn Sie den Ausführungsmodus strict auswählen und ein Robo-Skript an irgendeiner Stelle fehlschlägt,
Test Lab werden alle weiteren Schritte im Skript abgebrochen und ein regulärer
Robo-Crawl wird fortgesetzt. Meistens schlagen Robo-Skripts fehl, weil Robo ein erforderliches
Element auf dem Bildschirm nicht finden kann. Achten Sie darauf, dass die App-Navigation
vorhersehbar ist und die Bildschirme in einer deterministischen Reihenfolge angezeigt werden, um Fehler zu vermeiden.
Robo-Skript in Test Lab ausführen
So führen Sie ein Robo-Skript in Test Lab aus:
Öffnen Sie die Test Lab-Seite in der Firebase-Konsole.
Laden Sie das APK oder AAB der App im Feld APK oder AAB der App hoch.
Laden Sie Ihre aufgezeichnete oder manuell erstellte Robo-Skriptdatei im Robo-Skript (optional) Feld hoch.
Robo-Skript für einen lokalen Robo-Testlauf bereitstellen
Wenn Sie ein Robo-Skript für einen lokalen Robo-Testlauf bereitstellen möchten, verwenden Sie die folgende Robo-Test option:
--robo-script-file <robo-script-path>
Ersetzen Sie <robo-script-path> durch einen Pfad zu Ihrer Robo-Skriptdatei im lokalen
Dateisystem. Folgen Sie der Anleitung für einen lokalen Robo-Test
lauf.
Robo-Skript in einem gcloud-Befehlszeilenaufruf angeben
Wenn Sie ein Robo-Skript in einem gcloud-Befehlszeilenaufruf angeben möchten, verwenden Sie das folgende gcloud-Befehlszeilenflag:
--robo-script = <robo-script-path>
Ersetzen Sie <robo-script-path> durch einen Pfad zu Ihrer Robo-Skriptdatei im lokalen
Dateisystem oder in Cloud Storage mit der Notation gs://. Beispiel:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
Nächste Schritte
- Weitere Informationen zur Struktur, zu den Funktionen, zur Verwendung und zu den Aktionen von Robo-Skripts finden Sie unter im Referenzhandbuch zu Robo-Skripts.
- Robo-Test ausführen.