Robo-Test ausführen (Android)

Der Robo-Test ist ein Testtool, das in Firebase Test Lab integriert ist. Der Robo-Test analysiert die Struktur der Benutzeroberfläche Ihrer App und untersucht sie dann systematisch, wobei Nutzeraktivitäten automatisch simuliert werden. Der Robo-Test simuliert immer dieselben Nutzeraktivitä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 den Robo-Test verwenden, um Fehlerkorrekturen zu validieren und auf Regressionen zu testen.

Der Robo-Test erfasst Protokolldateien, speichert eine Reihe von Screenshots mit Anmerkungen und erstellt dann ein Video aus diesen Screenshots, um Ihnen die simulierten Nutzervorgänge zu zeigen, die er ausgeführt hat. Anhand 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 zu regulären Robo-Tests können Sie Ihre Tests mit Robo-Scripts anpassen, die eine Funktion von 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.

Crawling-Statistiken für Robo-Tests

Damit Sie die Ergebnisse des Robo-Tests besser interpretieren können, werden während jedes Test-Crawls Statistiken aufgezeichnet. 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-Script-Aktionen, Monkey-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 Crawling-Diagramms zu erstellen. Der Graph hat Bildschirme als Knoten und Aktionen als Kanten. Wenn Sie den Kanten zwischen den Bildschirmen folgen, können Sie sich ein Bild davon machen, wie der Robo-Test Ihre App während des Crawls durchlaufen hat.

Zeitlimit für 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 gründliche Reihe von UI-Interaktionen abgeschlossen hat. Wir empfehlen, das Testzeitlimit 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 das Zeitlimit 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.

Zeitüberschreitungsfehler beim Starten der App

Wenn Ihre App lange zum Starten braucht, kann der Robo-Test einen Fehler ausgeben und Ihre App nicht crawlen. 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 können Sie eine gängige User Journey testen oder bestimmte UI-Eingaben wie einen Nutzernamen und ein Passwort angeben. Robo-Skripts können dabei helfen. Weitere Informationen zu Robo-Skripts finden Sie unter Robo-Skript ausführen und im Referenzhandbuch für Robo-Skripts.

Robo-Tests und UI-Widgets, die nicht für Android bestimmt sind

Bei Robo-Tests wird die Android API verwendet, um Aktionen direkt auf Android-UI-Widgets auszuführen. So können die Tests Ihre UI automatisch untersuchen. Das 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 auf Monkey-Aktionen zurück, um diesen Bildschirm zu testen. Im Gegensatz zu den methodischeren Robo-Testaktionen simulieren Monkey-Aktionen einfach Tippereignisse an halb zufälligen Stellen auf dem Bildschirm eines Geräts.

Wenn Sie Bildschirme ohne Android-UI-Widgets besser testen möchten, können Sie die zufälligen Berührungen einer Monkey-Aktion durch eine Reihe von Berührungen und Interaktionen ersetzen, die Sie mit Firebase Test Lab-Spielschleifentests skripten.

Integration in 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 gängiger physischer Geräte an verschiedenen geografischen Standorten ausgeführt und deckt so verschiedene Formfaktoren und Hardwarekonfigurationen ab. Weitere Informationen finden Sie unter Pre-Launch-Berichte zum Erkennen von Problemen verwenden.

Testkontoanmeldung und vordefinierte Texteingabe

Der Robo-Test unterstützt die Anmeldung mit einem Testkonto und ermöglicht es Ihnen, 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 jeden 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 diese eingegeben werden sollen, 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 Standard-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 Testkonto (optional) die Ressourcennamen für Nutzername und 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. Gehen Sie dazu so 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 Strings ein, die in die entsprechenden Textfelder eingegeben werden sollen.

Fehler bei vordefinierter Texteingabe {:#predefined-text}

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

Sie können bis zu drei Deeplinks angeben, die von Ihrer App für Tests unterstützt werden. Deeplinks werden als Android-ACTION_VIEW-Intents an Ihre App gesendet. Daher muss jeder Link mit einem Intent-Filter in Ihrer App übereinstimmen.

Wenn ein oder mehrere Deeplinks angegeben sind, wird die App zuerst normal (mit dem Intent ACTION_MAIN) gestartet und bis zum angegebenen Zeitlimit gecrawlt. Nach dem Haupt-Crawling wird jeder Deeplink noch einmal 30 Sekunden lang gecrawlt.

Wenn der Robo-Test keine Aktivität findet, die mit Ihrem Deeplink übereinstimmt, ignoriert Test Lab den Link. Deeplink-Probleme sind in der Regel auf eine Abweichung zwischen dem angegebenen Deeplink und seiner Definition in Ihrer App zurückzuführen. Suchen Sie sowohl in der angegebenen URL als auch in Ihrer App nach Tippfehlern oder anderen Unstimmigkeiten.

Support für die App-Lizenzierung

Test Lab unterstützt Apps, die den von Google Play angebotenen Dienst App-Lizenzierung verwenden. Damit die Lizenzierung beim Testen deiner App mit Test Lab erfolgreich geprüft werden kann, musst du deine App im Produktionskanal im Google Play Store veröffentlichen. Wenn Sie Ihre App im Alpha- oder Betaversion-Kanal mit Test Lab testen möchten, entfernen Sie die Lizenzprüfung, bevor Sie Ihre App in Test Lab hochladen.

Nächste Schritte