Robo-Test ausführen (Android)

Der Robo-Test ist ein Testtool, das in Firebase Test Lab integriert ist. Beim Robo-Test wird die Struktur der Benutzeroberfläche Ihrer App analysiert und dann methodisch untersucht, wobei Nutzeraktivitäten automatisch simuliert werden. Der Robo-Test simuliert immer dieselben Nutzeraktivitäten in derselben Reihenfolge, wenn Sie ihn zum Testen einer App mit einer bestimmten Gerätekonfiguration und denselben Einstellungen verwenden. Mit diesem wiederholbaren Testansatz können Sie mit dem Robo-Test Fehlerkorrekturen validieren und auf Regressionen testen.

Beim Robo-Test werden Logdateien erfasst, eine Reihe von Screenshots mit Anmerkungen gespeichert und dann aus diesen Screenshots ein Video erstellt, um Ihnen die simulierten Nutzeraktionen zu zeigen, die ausgeführt wurden. Anhand dieser Logs, Screenshots und Videos können Sie die Ursache von App-Abstürzen ermitteln. Mit diesen Funktionen des Robo-Tests können Sie auch Probleme mit der Benutzeroberfläche Ihrer App finden.

Neben der Ausführung regulärer Robo-Tests können Sie Ihre Tests mit Robo-Skripts anpassen, die eine Funktion des Robo-Tests sind. Weitere Informationen finden Sie unter Robo-Skript ausführen.

Wenn Sie die Betaversion von Robo für iOS+ ausprobieren möchten, lesen Sie den Hilfeartikel Robo Test ausführen.

Robo-Test-Crawl-Statistiken

Damit Sie die Ergebnisse des Robo-Tests besser interpretieren können, werden beim Robo-Test während jedes Test-Crawls Statistiken erfasst. Test Lab zeigt die Statistiken oben auf dem Tab „Robo-Test“ auf der Seite mit den Testergebnissen an:

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

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

  • 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. Die Bildschirme sind die Knoten und die Aktionen die Kanten des Diagramms. Wenn Sie den Kanten zwischen den Bildschirmen folgen, können Sie nachvollziehen, wie der Robo-Test Ihre App während des Crawls durchlaufen hat.

Zeitüberschreitung beim Robo-Test

Je nach Komplexität der Benutzeroberfläche Ihrer App kann es fünf Minuten oder länger dauern, bis der Robo-Test eine umfassende Reihe von UI-Interaktionen abgeschlossen hat. Wir empfehlen, die Zeitüberschreitung für den Test 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 Console ausgeführt werden, und 900 Sekunden (15 Minuten) für Tests, die über die gcloud Befehlszeile ausgeführt werden.

Fehler bei der Zeitüberschreitung beim Starten der App

Wenn das Starten Ihrer App lange dauert, kann beim Robo-Test ein Fehler auftreten und die App kann nicht gecrawlt werden. Dies geschieht nur bei extrem langen Startzeiten und kann nur behoben werden, indem Sie Ihre App so überarbeiten, dass sie schneller startet.

Mehr Kontrolle mit Robo-Skripts

Manchmal benötigen Sie mehr Kontrolle über Ihre Tests. Beispielsweise möchten Sie möglicherweise einen häufigen Nutzerpfad testen oder bestimmte UI-Eingaben wie einen Nutzernamen und ein Passwort angeben. In solchen Fällen können Robo-Skripts hilfreich sein. Weitere Informationen zu Robo-Skripts finden Sie unter Robo-Skript ausführen und Referenzhandbuch für Robo-Skripts.

Robo-Tests und Android-fremde UI-Widgets

Beim Robo-Test wird die Android API verwendet, um Aktionen direkt auf Android-UI-Widgets auszuführen. So kann die Benutzeroberfläche automatisch getestet werden. Allerdings muss auch eine Android-UI-Hierarchie für einen Bildschirm extrahiert werden können, damit Tests darauf ausgeführt werden können.

Wenn auf einem Bildschirm in Ihrer App keine Android-UI-Widgets verwendet werden, greift der Robo-Test auf Dummy-Aktionen zurück, um diesen Bildschirm zu testen. Im Gegensatz zu den methodischeren Robo-Test-Aktionen simulieren Dummy-Aktionen einfach Tippereignisse an halb zufälligen Stellen auf dem Bildschirm eines Geräts.

Um Bildschirme, auf denen keine Android-UI-Widgets verwendet werden, besser zu testen, können Sie die beliebigen Tippvorgänge einer Dummy-Aktion durch eine Reihe von Skript-Tippvorgängen und ‑Interaktionen über Firebase Test LabSpielschleifentestsersetzen.

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 Betakanal hochladen und veröffentlichen. Der Robo-Test wird auf einer Reihe beliebter physischer Geräte aus verschiedenen geografischen Standorten ausgeführt und bietet so eine Testabdeckung für verschiedene Formfaktoren und Hardwarekonfigurationen. Weitere Informationen finden Sie unter Pre-Launch-Berichte zum Erkennen von Problemen verwenden.

Anmeldung über ein Testkonto und vordefinierte Texteingabe

Der Robo-Test unterstützt die Anmeldung über ein Testkonto und ermöglicht es Ihnen auch, vordefinierten Text in Felder in Ihrer App einzugeben. Für die benutzerdefinierte Anmeldung und andere vordefinierte Texteingaben kann der Robo-Test Text in EditText Felder in Ihrer App eingeben. Für jede String müssen Sie das EditText Feld mit einem Android-Ressourcennamen identifizieren. Weitere Informationen finden Sie unter Auf Ressourcen zugreifen.

Anmelden

Der Robo-Test bietet zwei sich gegenseitig ausschließende Methoden zur Unterstützung der Anmeldung:

  • Benutzerdefinierte Anmeldung: Wenn Sie Anmeldedaten für ein Testkonto angeben, müssen Sie dem Robo-Test mitteilen, wo er sie eingeben soll, und diese Anmeldedaten auch angeben.

  • Automatische Anmeldung: Wenn Sie keine Anmeldedaten für ein Testkonto für die benutzerdefinierte Anmeldung angeben, wird die automatische Anmeldung verwendet. Der Robo-Test kann sich automatisch mit einem Google-Testkonto in Apps anmelden, die mit standardmäßigen Android-Widgets oder Compose-Anwendungen erstellt wurden.

So geben Sie Anmeldedaten für ein Testkonto für die benutzerdefinierte Anmeldung an:

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

  2. Geben Sie unter Anmeldedaten für das Testkonto (optional) die Ressourcennamen für den Nutzernamen und das Passwort sowie den Nutzernamen und das Passwort für das Testkonto ein.

Vordefinierte Texteingabe

Sie können benutzerdefinierten Eingabetext für andere Textfelder angeben, die von Ihrer App verwendet werden. So geben Sie Texteingaben für zusätzliche Felder an:

  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 Strings ein, die in die entsprechenden Textfelder eingegeben werden sollen.

Fehler bei der vordefinierten Texteingabe {:#predefined-text}

Der Robo-Test sucht nach EditText-Feldern mit einem Android-Ressourcennamen, der mit einem angegebenen regulären Ausdruck übereinstimmt. Wenn der Robo-Test kein übereinstimmendes Feld findet, wird der Text nicht eingegeben, aber der Crawl wird ansonsten wie gewohnt fortgesetzt.

Sie können bis zu drei Deeplinks von Ihrer App unterstützte Deeplinks zum Testen angeben. Deeplinks werden Ihrer App als Android ACTION_VIEW Intents zugestellt. Daher muss jeder Link mit einem Intent-Filter in Ihrer App übereinstimmen.

Wenn ein oder mehrere Deeplinks angegeben werden, wird die App zuerst normal gestartet (mit dem ACTION_MAIN Intent) und bis zur angegebenen Zeitüberschreitung gecrawlt. Nach dem Haupt-Crawl wird jeder Deeplink zusätzlich 30 Sekunden lang gecrawlt.

Wenn der Robo-Test keine Aktivität findet, die mit Ihrem Deeplink übereinstimmt, wird der Link von Test Lab ignoriert. Probleme mit Deeplinks sind in der Regel auf eine Diskrepanz zwischen dem angegebenen Deeplink und seiner Definition in Ihrer App zurückzuführen. Überprüfen Sie sowohl die angegebene URL als auch Ihre App auf Tippfehler oder andere Inkonsistenzen.

Unterstützung für die App-Lizenzierung

Test Lab unterstützt Apps, die den von Google Play angebotenen App-Lizenzierungs dienst verwenden. Wenn Sie die Lizenzierung beim Testen Ihrer App mit Test Laberfolgreich überprüfen möchten, müssen Sie Ihre App im Produktionskanal im Play Store veröffentlichen. Wenn Sie Ihre App im Alpha- oder Betakanal mit Test Lab testen möchten, entfernen Sie die Lizenzierungsprüfung, bevor Sie Ihre App in Test Lab hochladen.

Nächste Schritte

  • Tests mit Robo-Skripts anpassen