Führen Sie einen Robo-Test durch (Android)

Robo Test ist ein Testtool, das in Firebase Test Lab integriert ist. Der Robo-Test analysiert die Struktur der Benutzeroberfläche (UI) Ihrer App und untersucht sie dann methodisch, indem er automatisch Benutzeraktivitäten simuliert. Robo-Test simuliert immer dieselben Benutzeraktivitäten in derselben Reihenfolge, wenn Sie damit eine App auf einer bestimmten Gerätekonfiguration mit denselben Einstellungen testen. Mit diesem wiederholbaren Testansatz können Sie Robo-Tests verwenden, um Fehlerbehebungen zu validieren und auf Regressionen zu testen.

Der Robo-Test erfasst Protokolldateien, speichert eine Reihe kommentierter Screenshots und erstellt dann aus diesen Screenshots ein Video, um Ihnen die simulierten durchgeführten Benutzervorgänge zu zeigen. Mithilfe dieser Protokolle, Screenshots und Videos können Sie die Ursache von App-Abstürzen ermitteln. Diese Robo-Testfunktionen können Ihnen auch dabei helfen, Probleme mit der Benutzeroberfläche Ihrer App zu finden.

Zusätzlich zur Ausführung regulärer Robo-Tests können Sie Ihre Tests mithilfe von Robo-Skripten anpassen, die eine Funktion von Robo-Tests sind. Weitere Informationen finden Sie unter Ausführen eines Robo-Skripts .

Wenn Sie die Beta-Version von Robo für iOS+ ausprobieren möchten, lesen Sie „Run a Robo Test“ .

Robo-Test-Crawl-Statistiken

Um Ihnen bei der Interpretation Ihrer Robo-Testergebnisse zu helfen, zeichnet der Robo-Test bei jedem Test-Crawling Statistiken auf. Test Lab zeigt die Statistiken oben auf der Registerkarte „Robo-Test“ auf Ihrer Testergebnisseite an:

  • Aktionen: Die Gesamtzahl der während des Crawls ausgeführten Aktionen, einschließlich Robo-Skriptaktionen, Affenaktionen und Robo-Anweisungen.

  • Aktivitäten: Die Anzahl der verschiedenen Aktivitäten, die während des Crawls abgedeckt werden.

  • Bildschirme: Die Anzahl der verschiedenen Bildschirme, die während des Crawls besucht wurden.

Test Lab verwendet die Statistiken auch, um eine visuelle Darstellung des Robo-Tests in Form eines Crawl-Diagramms zu erstellen. Der Graph hat Bildschirme als Knoten und Aktionen als Kanten. Indem Sie den Rändern zwischen den Bildschirmen folgen, können Sie sich ein Bild davon machen, wie der Robo-Test Ihre App während des Crawls durchlaufen hat.

Zeitüberschreitung beim Robo-Test

Abhängig von der Komplexität der Benutzeroberfläche Ihrer App kann es fünf Minuten oder länger dauern, bis der Robo-Test einen umfassenden Satz an Benutzeroberflächeninteraktionen durchführt. Wir empfehlen, das Test-Timeout für die meisten Apps auf mindestens 120 Sekunden (2 Minuten) und für mäßig komplexe Apps auf 300 Sekunden (5 Minuten) festzulegen. Der Standardwert für die Zeitüberschreitung beträgt 300 Sekunden (5 Minuten) für Tests, die über Android Studio und die Firebase-Konsole ausgeführt werden, und 900 Sekunden (15 Minuten) für Tests, die über die gcloud Befehlszeile ausgeführt werden.

Timeout-Fehler beim App-Start

Wenn der Start Ihrer App lange dauert, kann der Robo-Test einen Fehler auslösen und Ihre App nicht crawlen. Dies geschieht nur bei extrem langen Startzeiten und kann nur durch eine Überarbeitung Ihrer App behoben werden, damit sie schneller startet.

Mehr Kontrolle mit Robo-Skripten

Manchmal benötigen Sie mehr Kontrolle über Ihre Tests. Beispielsweise möchten Sie möglicherweise eine allgemeine Benutzerreise testen oder bestimmte UI-Eingaben wie einen Benutzernamen und ein Kennwort bereitstellen. Robo-Skripte können helfen. Weitere Informationen zu Robo-Skripten finden Sie unter Ausführen eines Robo-Skripts und im Referenzhandbuch zu Robo-Skripten .

Robo-Tests und Nicht-Android-UI-Widgets

Robo-Tests nutzen die Android-API, um Aktionen direkt auf Android-UI-Widgets auszuführen. Das hilft den Tests, Ihre Benutzeroberfläche automatisch zu erkunden, bedeutet aber auch, dass sie in der Lage sein müssen, eine Android-UI-Hierarchie für einen Bildschirm zu extrahieren, um Tests darauf auszuführen.

Wenn ein Bildschirm in Ihrer App keine Android-UI-Widgets verwendet, greifen Robo-Tests zum Testen dieses Bildschirms auf Monkey Actions zurück. Im Gegensatz zu den methodischeren Robo-Testaktionen simulieren Monkey Actions einfach Tippereignisse an halbzufälligen Stellen auf dem Bildschirm eines Geräts.

Um Bildschirme, die keine Android-UI-Widgets verwenden, besser zu testen, können Sie die willkürlichen Tippen einer Affenaktion durch eine Reihe von Skripttipps und Interaktionen über Firebase Test Lab Game Loop Tests ersetzen.

Integration mit Google Play

Sie können den Robo-Test in der Google Play Console verwenden, wenn Sie die APK-Datei Ihrer App über den Alpha- oder Beta-Kanal hochladen und veröffentlichen. Robo-Tests werden auf einer Reihe gängiger physischer Geräte an verschiedenen geografischen Standorten ausgeführt und bieten eine Testabdeckung über verschiedene Formfaktoren und Hardwarekonfigurationen hinweg. Weitere Informationen finden Sie unter Verwenden von Pre-Launch-Berichten zur Identifizierung von Problemen .

Testen Sie die Kontoanmeldung und die vordefinierte Texteingabe

Robo Test unterstützt die Anmeldung bei einem Testkonto und ermöglicht Ihnen außerdem die Eingabe vordefinierten Textes in Felder Ihrer App. Für die benutzerdefinierte Anmeldung und andere vordefinierte Texteingaben kann Robo Test Text in EditText Felder in Ihrer App eingeben. Für jede Zeichenfolge müssen Sie das EditText Feld mithilfe eines Android-Ressourcennamens identifizieren. Weitere Informationen finden Sie unter Zugriff auf Ressourcen .

Anmelden

Robo Test verfügt über zwei sich gegenseitig ausschließende Methoden zur Unterstützung der Anmeldung:

  • Benutzerdefinierte Anmeldung: Wenn Sie Anmeldeinformationen für ein Testkonto angeben, müssen Sie Robo Test mitteilen, wo diese Anmeldeinformationen eingegeben werden sollen, und diese Anmeldeinformationen angeben.

  • Automatische Anmeldung: Wenn Ihre App über einen Anmeldebildschirm verfügt, der ein Google-Konto zur Authentifizierung verwendet, verwendet Robo Test ein Google-Testkonto, es sei denn, Sie geben Anmeldeinformationen für das Testkonto für die benutzerdefinierte Anmeldung an.

Gehen Sie wie folgt vor, um Testkontoanmeldeinformationen für die benutzerdefinierte Anmeldung bereitzustellen:

  1. Wählen Sie auf der Seite „Dimensionen auswählen“ die Option „Zusätzliche Optionen“ aus.

  2. Geben Sie unter Anmeldeinformationen für das Testkonto (optional) den Ressourcennamen Benutzername und Kennwort sowie den Benutzernamen und das Kennwort für das Testkonto ein.

Vordefinierte Texteingabe

Sie können benutzerdefinierten Eingabetext für andere von Ihrer App verwendete Textfelder bereitstellen. Um Texteingaben für zusätzliche Felder bereitzustellen, gehen Sie wie folgt vor:

  1. Wählen Sie auf der Seite „Dimensionen auswählen“ die Option „Zusätzliche Optionen“ aus.

  2. Geben Sie unter „Zusätzliche Felder (optional)“ einen oder mehrere Ressourcennamen und die Zeichenfolgen ein, die in die entsprechenden Textfelder eingegeben werden sollen.

Fehler bei der Eingabe vordefinierter Texte {:#predefined-text}

Der Robo-Test sucht nach EditText Feldern mit einem Android-Ressourcennamen, der einem bereitgestellten regulären Ausdruck entspricht. Wenn Robo kein passendes Feld findet, gibt er Ihren Text nicht ein, sondern setzt ansonsten seinen Crawl wie gewohnt fort.

Sie können bis zu drei von Ihrer App unterstützte Deep Links zum Testen bereitstellen. Deep-Links werden als Android ACTION_VIEW Absichten zu Ihrer App ausgegeben. Daher muss jeder Link einem Intent-Filter in Ihrer App entsprechen.

Wenn ein oder mehrere Deep-Links bereitgestellt werden, wird die App zunächst normal gestartet (mit der Absicht ACTION_MAIN ) und bis zum angegebenen Timeout gecrawlt. Nach dem Hauptcrawl wird jeder Deep Link jeweils weitere 30 Sekunden lang gecrawlt.

Wenn der Robo-Test keine Aktivität finden kann, die zu Ihrem Deep-Link passt, ignoriert Test Lab den Link. Deep-Link-Probleme sind in der Regel das Ergebnis einer Diskrepanz zwischen dem bereitgestellten Deep-Link und seiner Definition in Ihrer App. Überprüfen Sie sowohl die bereitgestellte URL als auch Ihre App auf Tippfehler oder andere Inkonsistenzen.

Unterstützung bei der App-Lizenzierung

Test Lab unterstützt Apps, die den von Google Play angebotenen App-Lizenzierungsdienst nutzen. Um die Lizenzierung beim Testen Ihrer App mit Test Lab erfolgreich zu überprüfen, müssen Sie Ihre App im Produktionskanal im Play Store veröffentlichen. Um Ihre App im Alpha- oder Beta-Kanal mit Test Lab zu testen, entfernen Sie die Lizenzprüfung, bevor Sie Ihre App in Test Lab hochladen.

Nächste Schritte