Robo-Test ausführen (Android)

Robo-Tests sind Testtools, die in Firebase Test Lab integriert sind. Bei einem Robo-Test wird die Struktur der Benutzeroberfläche (UI) Ihrer App analysiert und dann methodisch untersucht, wobei Nutzeraktivitäten automatisch simuliert werden. Der Robo-Test simuliert immer die gleichen Nutzeraktivitäten in der gleichen Reihenfolge, wenn Sie ihn zum Testen einer App in einer bestimmten Gerätekonfiguration mit denselben Einstellungen verwenden. Mit diesem wiederholbaren Testansatz können Sie mithilfe von Robo-Tests Fehlerkorrekturen prüfen und auf Regressionen testen.

Beim Robo-Test werden Protokolldateien erfasst, eine Reihe von kommentierten Screenshots gespeichert und dann ein Video aus diesen Screenshots erstellt, das die simulierten Nutzeraktionen zeigt. Anhand dieser Protokolle, Screenshots und Videos können Sie die Ursache für App-Abstürze ermitteln. Mit diesen Funktionen von Robo-Tests können Sie auch Probleme mit der Benutzeroberfläche Ihrer App finden.

Sie können nicht nur reguläre Robo-Tests ausführen, sondern Ihre Tests auch mithilfe von Robo-Scripts anpassen. Weitere Informationen finden Sie unter Robo-Script ausführen.

Wenn Sie die Betaversion von Robo für iOS und höher 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-Crawlings Statistiken erfasst. Test Lab zeigt die Statistiken oben auf dem Tab „Robo-Test“ auf der Seite mit den Testergebnissen an:

  • Aktionen: Die Gesamtzahl der Aktionen, die während des Crawlings ausgeführt wurden, einschließlich Robo-Script-Aktionen, Dummy-Aktionen und Robo-Direktiven.

  • Aktivitäten: Die Anzahl der verschiedenen Aktivitäten, die während des Crawlings durchgeführt wurden.

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

Test Lab verwendet die Statistiken auch, um eine visuelle Darstellung des Robotests in Form eines Crawling-Diagramms zu erstellen. Der Graph hat Bildschirme als Knoten und Aktionen als Kanten. Wenn 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 Crawlings durchlaufen hat.

Zeitlimit für Robo-Tests

Je nach Komplexität der Benutzeroberfläche Ihrer App kann der Robo-Test fünf Minuten oder länger dauern, bis eine umfassende Reihe von UI-Interaktionen abgeschlossen ist. Wir empfehlen, das Testzeitlimit für die meisten Anwendungen auf mindestens 120 Sekunden (2 Minuten) und für mäßig komplexe Anwendungen 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.

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. Das passiert nur bei extrem langen Startzeiten und kann nur behoben werden, indem Sie Ihre App so überarbeiten, dass sie schneller startet.

Mehr Kontrolle mit Robo-Scripts

Manchmal benötigen Sie mehr Kontrolle über Ihre Tests. So können Sie beispielsweise eine gängige User Journey testen oder bestimmte UI-Eingaben wie einen Nutzernamen und ein Passwort angeben. Robo-Scripts können dabei helfen. Weitere Informationen zu Robo-Scripts finden Sie unter Robo-Script ausführen und Referenzleitfaden für Robo-Scripts.

Robo-Tests und Android-fremde UI-Widgets

Robo-Tests verwenden die Android API, um Aktionen für Android-UI-Widgets direkt auszuführen. Das hilft den Tests, Ihre UI 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 für ihn ausführen zu können.

Wenn auf einem Bildschirm in deiner App keine Android-UI-Widgets verwendet werden, greifen Robo-Tests auf Monkey Actions zurück, um diesen Bildschirm zu testen. Im Gegensatz zu den methodischeren Robo-Testaktionen simulieren Monkey-Aktionen einfach Tipp-Ereignisse an semi-zufälligen Stellen auf dem Display eines Geräts.

Wenn Sie Bildschirme besser testen möchten, auf denen keine Android-UI-Widgets verwendet werden, können Sie die beliebigen Tippaktionen einer Monkey-Aktion durch eine Reihe von skriptbasierten Tippaktionen und Interaktionen ersetzen. Verwenden Sie dazu Firebase Test Lab Spielschleifentests.

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. So wird eine Abdeckung verschiedener Formfaktoren und Hardwarekonfigurationen gewährleistet. Weitere Informationen finden Sie unter Pre-Launch-Berichte zum Erkennen von Problemen verwenden.

Kontoanmeldung und vordefinierte Texteingaben testen

Der Robo-Test unterstützt die Anmeldung mit einem Testkonto und ermöglicht es Ihnen, vordefinierten Text in Felder in Ihrer App einzugeben. Bei benutzerdefinierten Anmeldungen und anderen vordefinierten 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, um die Anmeldung zu unterstützen:

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

  • Automatische Anmeldung: Wenn Ihre App einen Anmeldebildschirm hat, auf dem für die Authentifizierung ein Google-Konto verwendet wird, wird für den Robo-Test ein Google-Testkonto verwendet, es sei denn, Sie geben Anmeldedaten für ein Testkonto für die benutzerdefinierte Anmeldung an.

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

  1. Klicken Sie auf der Seite Dimensionen auswählen auf Zusätzliche Optionen.

  2. Geben Sie unter Anmeldedaten für das Testkonto (optional) die Ressourcennamen für Nutzernamen 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. So geben Sie Text für zusätzliche Felder ein:

  1. Klicken Sie auf der Seite Dimensionen auswählen auf Zusätzliche Optionen.

  2. Geben Sie unter Zusätzliche Felder (optional) einen oder mehrere Ressourcennamen und die Strings in die entsprechenden Textfelder ein.

Fehler bei der Eingabe von vordefiniertem Text {:#predefined-text}

Beim Robo-Test wird nach EditText-Feldern mit einem Android-Ressourcennamen gesucht, der mit einem angegebenen regulären Ausdruck übereinstimmt. Wenn Robo kein übereinstimmendes Feld findet, wird kein Text eingegeben. Ansonsten wird das Crawling wie gewohnt fortgesetzt.

Sie können zu Testzwecken bis zu drei Deeplinks angeben, die von Ihrer App 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 sind, wird die App zuerst normal gestartet (mit dem Intent ACTION_MAIN) und bis zum angegebenen Zeitlimit gecrawlt. Nach dem Haupt-Crawling wird jeder Deeplink jeweils weitere 30 Sekunden lang gecrawlt.

Wenn der Robo-Test keine Aktivität findet, die mit Ihrem Deeplink übereinstimmt, wird der Link von Test Lab ignoriert. Deeplink-Probleme sind in der Regel auf eine Abweichung 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 Inkonsistenzen.

Support für die App-Lizenzierung

Test Lab unterstützt Apps, die den von Google Play angebotenen Dienst zur App-Lizenzierung nutzen. Damit du beim Testen deiner App mit Test Lab die Lizenzierung erfolgreich prüfen kannst, musst du deine App im Produktionskanal im Play Store veröffentlichen. Wenn Sie Ihre App mit Test Lab im Alpha- oder Betakanal testen möchten, entfernen Sie die Lizenzprüfung, bevor Sie Ihre App auf Test Lab hochladen.

Nächste Schritte