Führen Sie ein Robo-Skript aus (Android)

In diesem Dokument wird die Verwendung von Robo-Skripten beschrieben, bei denen es sich um Tests handelt, die manuelle QA-Aufgaben für mobile Apps automatisieren und kontinuierliche Integration (CI) und Teststrategien vor dem Start ermöglichen. Sie können beispielsweise Robo-Skripte verwenden, um eine allgemeine Benutzerreise zu testen oder bestimmte Eingaben für die Benutzeroberfläche (UI) bereitzustellen, z. B. einen Benutzernamen und ein Kennwort. Robo-Skripte sind eine Funktion von Robo Test .

Mit Robo-Skripten zeichnen Sie auf, wie Sie einen Workflow in Ihrer App durchlaufen, und laden diese Aufzeichnung dann auf die Firebase-Konsole hoch, um sie in Robo-Tests auszuführen. Wenn Sie einen Robo-Test mit einem angehängten Skript ausführen, führt Robo zunächst Ihre vorgefertigten Aktionen durch und erkundet dann die App wie gewohnt.

Robo-Skripte verwenden Robo-Test als Test-Engine. In seiner einfachsten Form besteht ein Robo-Skript aus einer Folge von UI-Aktionen wie der Eingabe des Textes „Benutzername“ und dem anschließenden Tippen auf die Schaltfläche „OK“ . Robo-Skripte können auch Aktionen wie das Warten auf das Erscheinen eines Elements, das Tippen auf eine bestimmte Stelle innerhalb eines Elements und das Ausführen von Android Debug Bridge ( adb )-Shell-Befehlen umfassen.

Robo-Skripte haben gegenüber herkömmlichen Test-Frameworks die folgenden Vorteile:

Fähigkeit Beschreibung
Sehr robust Robo-Skripte können erhebliche Struktur- und Verhaltensunterschiede zwischen App-Versionen und App-Flockigkeiten tolerieren.
Offenes Ende Nachdem ein Robo-Skript abgeschlossen ist, kann der Basis-Robo-Test übernehmen und mit dem Testen der App fortfahren. Dieser kontinuierliche Testansatz 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 Anmeldeablauf durchführen.
Aufnehmbar Sie müssen Robo-Skripte nicht manuell programmieren. Sie können mit dem Robo-Skript-Recorder in Android Studio aufgezeichnet werden. Das Erstellen oder Ändern von Robo-Skripten erfordert normalerweise keine Kenntnisse in der mobilen Entwicklung.
Flexibel Robo-Skripte können mit nicht-nativen UI-Elementen interagieren, die in Spielen häufig vorkommen.

Robo-Skripte werden während eines Robo-Tests bedingt ausgelöst, wodurch Benutzer das Verhalten von Robo verbessern können – normalerweise, um eine größere Abdeckung zu erreichen oder auf bestimmte Funktionen abzuzielen. Im Gegensatz zu herkömmlichen Test-Frameworks unterstützen Robo-Skripte Folgendes:

  • Verschiedene auslösende Bedingungen, zum Beispiel, dass ein bestimmter App-Paketname aktiv ist (oder nicht) oder dass ein bestimmtes Element auf dem Bildschirm angezeigt wird (oder nicht).
  • Ausführungskontrollen, zum Beispiel eine maximale Anzahl von Ausführungen, Priorität, relevante Crawling-Stufe.
  • Unkonventionelle Aktionstypen (bedingt, Element ignorierend, Bildschirm schließend).

Wir empfehlen, wann immer möglich, Robo-Skripte zu verwenden, da diese mühelos verwaltet werden können. Sie können beispielsweise ein Robo-Skript verwenden, um Folgendes zu tun:

  • Navigieren Sie durch wichtige Arbeitsabläufe, um zum Kern der Funktionalität einer App zu gelangen. Sie können beispielsweise eine Anmeldung durchführen, den Status einer App nach dem ersten Start einrichten und einen neuen Benutzer registrieren.
  • Konzentrieren Sie Robo auf einen bestimmten Teil einer App, um die Robo-Testzeit optimal zu nutzen. Das Robo-Skript leitet den Robo-Test an, den relevanten Teil einer App zu erreichen, wo der Robo-Test einen vollautomatischen Crawl fortsetzt.
  • Versetzen Sie eine App in einen bestimmten Zustand oder auf einen bestimmten Bildschirm, um eine Analyse durchzuführen, beispielsweise um eine In-App-Nachricht, eine Datenschutzrichtlinie oder ein bestimmtes Level eines Spiels zu analysieren.
  • Führen Sie einen End-to-End-Instrumentierungstest mit oder ohne Robo-Test durch und setzen Sie nach Abschluss des Robo-Skripts einen vollautomatischen Crawl fort.

Verwenden Sie erweiterte Robo-Skriptfunktionen, um Folgendes zu tun:

  • Führen Sie Aktionen aus, bevor Robo mit dem Crawlen der zu testenden App beginnt oder nachdem ein Crawl abgeschlossen ist, z. B. bereinigen Sie die Daten der zu testenden App vor einem Crawl oder ändern Sie die Geräteeinstellungen.
  • Ändern Sie Aspekte des Robo-Verhaltens während eines Crawls, insbesondere:
    • Lassen Sie Robo einige UI-Widgets oder App-Bildschirme ignorieren.
    • Stellen Sie eine benutzerdefinierte Aktion bereit, die Robo beim Zurückverfolgen von einem bestimmten Bildschirm ausführen soll.
    • Lassen Sie Robo bestimmte Aktionen ausführen, wenn während eines Crawls auf einen bestimmten App-Bildschirm gestoßen wird.
  • Passen Sie vollständig an, wie Robo einen Crawl durchführt. 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 gleichzeitig Gerätemanipulationen durchführen und alle Popup-Dialoge schließen, die dabei angezeigt werden.

Bedenken Sie, dass Robo-Skripte nicht alle Arten von Tests ersetzen. Sie benötigen weiterhin Komponententests, um Logikfehler auf niedriger Ebene in Ihrer App zu erkennen. Für diese Tests ist normalerweise keine Android- oder iOS-Umgebung erforderlich. Wir empfehlen Ihnen, Robo-Skripttests durch gezielte Instrumentierungstests zu ergänzen, die spezifische, detaillierte Aussagen zur Geschäftslogik enthalten können, die am besten im Code ausgedrückt werden.

Zeichnen Sie ein Robo-Skript mit Test Lab in Android Studio auf

Mit dem Robo-Skript-Recorder in Android Studio können Sie Robo-Skripte aufzeichnen, indem Sie direkt mit der App auf Ihrem Gerät interagieren. Befolgen Sie diese Anweisungen, um mit Robo-Scripting über das Firebase-Tool in Android Studio zu beginnen:

  1. Öffnen Sie Android Studio und wählen Sie Extras -> Firebase .

  2. Klicken Sie im Firebase-Bereich auf „Robo-Skript aufzeichnen und als Leitfaden für den Robo-Test verwenden“ .

  3. Klicken Sie auf Robo-Skript aufzeichnen . Das Dialogfeld „Bereitstellungsziel auswählen“ wird angezeigt.

  4. Wählen Sie das Gerät aus, auf dem Sie das Robo-Skript aufzeichnen möchten.

  5. Nachdem Sie das Robo-Skript im Gerät aufgezeichnet haben, speichern Sie die Datei als JSON-Datei am gewünschten Speicherort.

  6. Öffnen Sie die Testlaborseite in der Firebase-Konsole und laden Sie die JSON-Skriptdatei und das Anwendungs-APK hoch.

  7. Klicken Sie auf die Schaltfläche Weiter . Sie werden aufgefordert, das Gerät und die API-Ebene auszuwählen. Nachdem das Testskript abgeschlossen ist, generiert Test Lab den Testbericht.

  8. (Optional) Um den Logcat des Testberichts und des Videos zu kopieren oder herunterzuladen, klicken Sie auf Quelldateien anzeigen .

Standardmäßig verhindern die Robustheitsmechanismen des Robo-Skripts, dass es frühzeitig fehlschlägt. Wenn Sie den strict Ausführungsmodus wählen und ein Robo-Skript zu irgendeinem Zeitpunkt fehlschlägt, bricht Test Lab alle weiteren Schritte im Skript ab und setzt einen regulären Robo-Crawl fort. Am häufigsten schlagen Robo-Skripte fehl, weil Robo ein erforderliches Element auf dem Bildschirm nicht finden kann. Um Fehler zu vermeiden, stellen Sie sicher, dass Ihre App-Navigation vorhersehbar ist und dass Ihre Bildschirme in einer deterministischen Reihenfolge angezeigt werden.

Führen Sie ein Robo-Skript im Testlabor aus

Befolgen Sie diese Anweisungen, um ein Robo-Skript in Test Lab auszuführen:

  1. Öffnen Sie die Testlaborseite in der Firebase-Konsole.

  2. Laden Sie die APK oder AAB der App im Feld App APK oder AAB hoch.

  3. Laden Sie Ihre aufgezeichnete oder manuell erstellte Robo-Skriptdatei in das Feld „Robo-Skript (optional)“ hoch.

Stellen Sie ein Robo-Skript für einen lokalen Robo-Testlauf bereit

Um ein Robo-Skript für einen lokalen Robo-Testlauf bereitzustellen, verwenden Sie die folgende Robo-Testoption:

--robo-script-file <robo-script-path>

Ersetzen Sie <robo-script-path> durch einen Pfad zu Ihrer Robo-Skriptdatei im lokalen Dateisystem. Befolgen Sie die Anweisungen für einen lokalen Robo-Testlauf .

Geben Sie ein Robo-Skript in einem gcloud-CLI-Testaufruf an

Um ein Robo-Skript in einem gcloud-CLI-Testaufruf anzugeben, verwenden Sie das folgende gcloud-CLI-Flag:

--robo-script = <robo-script-path>

Ersetzen Sie <robo-script-path> durch einen Pfad zu Ihrer Robo-Skriptdatei im lokalen Dateisystem oder im Cloud Storage unter Verwendung gs:// Notation. Zum Beispiel:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Nächste Schritte