Robo-Test ausführen (Android)

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. Dabei werden Nutzeraktivitäten automatisch simuliert. Beim Robo-Test werden immer dieselben Nutzeraktivitäten in derselben Reihenfolge simuliert, wenn Sie ihn zum Testen einer App auf einem bestimmten Gerät mit denselben Einstellungen verwenden. Mit diesem wiederholbaren Testansatz können Sie mit Robo-Tests Fehlerkorrekturen validieren und Regressionen testen.

Beim Robo-Test werden Logdateien erfasst, eine Reihe von Screenshots mit Anmerkungen gespeichert und dann ein Video aus diesen Screenshots 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 Robo-Testfunktionen können Sie auch Probleme mit der Benutzeroberfläche Ihrer App finden.

Zusätzlich zu regulären Robo-Tests können Sie Ihre Tests mit Robo-Skripts anpassen. Weitere Informationen finden Sie unter Robo-Skript ausführen.

Wenn Sie die Betaversion von Robo für iOS+ ausprobieren möchten, lesen Sie den Abschnitt 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, Dummy-Vorgängen und Robo-Anweisungen.

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

  • Bildschirme: Die Anzahl der eindeutigen Bildschirme, die während des Crawlings besucht wurden.

Test Lab verwendet die Statistiken auch, um eine visuelle Darstellung des Robotesters in Form eines Crawl-Diagramms zu erstellen. Der Graph hat Bildschirme als Knoten und Aktionen als Kanten. Anhand der Kanten zwischen den Bildschirmen können Sie nachvollziehen, wie der Robo-Test Ihre App während des Crawlings durchlaufen hat.

Robo-Test-Zeitlimit

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 Zeitlimit 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 das Zeitlimit 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.

Zeitüberschreitungsfehler beim Starten der App

Wenn das Starten Ihrer App lange dauert, 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. Sie möchten beispielsweise einen häufigen Nutzerablauf testen oder bestimmte UI-Eingaben wie einen Nutzernamen und ein Passwort bereitstellen. Robo-Skripts können dabei helfen. Weitere Informationen zu Robo-Skripts finden Sie unter Robo-Skript ausführen und Referenzanleitung für Robo-Skripts.

Robo-Tests und Android-fremde UI-Widgets

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

Wenn auf einem Bildschirm in Ihrer App keine Android-UI-Widgets verwendet werden, greifen Robo-Tests auf Monkey-Aktionen zurück, um diesen Bildschirm zu testen. Im Gegensatz zu den methodischeren Robo-Testaktionen werden bei Monkey-Aktionen einfach Tippereignisse an halb zufälligen Stellen auf dem Bildschirm eines Geräts simuliert.

Um Bildschirme, auf denen keine Android-UI-Widgets verwendet werden, besser zu testen, können Sie die zufälligen Taps einer Monkey-Aktion durch eine Reihe von Taps und Interaktionen ersetzen, die über Firebase Test Lab-Spielschleifentests geskriptet werden.

Integration in Google Play

Sie können Robo-Tests 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. So wird eine Testabdeckung für verschiedene Formfaktoren und Hardwarekonfigurationen erreicht. Weitere Informationen finden Sie unter Pre-Launch-Berichte zum Erkennen von Problemen verwenden.

Anmeldung mit Testkonto und vordefinierte Texteingabe testen

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

Für die Anmeldung in Robo-Tests gibt es zwei sich gegenseitig ausschließende Methoden:

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

  • Automatische Anmeldung: Wenn Ihre App einen Anmeldebildschirm hat, auf dem ein Google-Konto zur Authentifizierung verwendet wird, wird beim Robo-Test ein Google-Testkonto verwendet, sofern Sie keine Anmeldedaten für ein Testkonto für die benutzerdefinierte Anmeldung angeben.

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 Weitere 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 Weitere 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}

Beim Robo-Test wird nach EditText-Feldern mit einem Android-Ressourcennamen gesucht, der einem angegebenen regulären Ausdruck entspricht. Wenn Robo kein passendes Feld findet, wird Ihr Text nicht eingegeben. Der Crawl wird aber wie gewohnt fortgesetzt.

Sie können bis zu drei Deeplinks angeben, die von Ihrer App für Tests unterstützt werden. Deeplinks werden an Ihre App als Android-ACTION_VIEW-Intents gesendet. 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 Intent ACTION_MAIN) und bis zum angegebenen Zeitlimit gecrawlt. Nach dem Haupt-Crawl wird jeder Deeplink zusätzlich 30 Sekunden lang gecrawlt.

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

Support für die App-Lizenzierung

Test Lab unterstützt Apps, die den von Google Play angebotenen App-Lizenzierungsservice nutzen. Damit die Lizenzierung beim Testen Ihrer App mit Test Lab erfolgreich geprüft werden kann, müssen Sie Ihre App im Play Store im Produktionschannel veröffentlichen. Wenn Sie Ihre App im Alpha- oder Betakanal mit Test Lab testen möchten, entfernen Sie die Lizenzprüfung, bevor Sie Ihre App in Test Lab hochladen.

Nächste Schritte