Führen Sie ein Robo-Skript aus (iOS+)

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 .

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.

Nächste Schritte