Robo-Script ausführen (iOS und höher)

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 Teststrategien vor der Veröffentlichung 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.

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 Nach Abschluss eines Robo-Skripts 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 Anmeldeablauf 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, in der Regel, um 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 Abläufe 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.

Verwenden Sie erweiterte Robo-Skript-Funktionen für Folgendes:

  • 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.
  • Vollständig anpassen, 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 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 Fehler in der Logik 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 spezifische, detaillierte Zusicherungen zur Geschäftslogik enthalten können, die am besten im Code ausgedrückt werden.

Nächste Schritte