Der Robo-Test ist ein Testtool, das in Firebase Test Lab eingebunden ist. Bei einem Robo-Test wird die Struktur der Benutzeroberfläche (UI) Ihrer App analysiert und dann methodisch untersucht, indem Nutzeraktivitäten automatisch simuliert werden. Robo-Test Simuliert immer dieselben Nutzeraktivitäten in der gleichen Reihenfolge, wenn Sie damit eine App in einer bestimmten Gerätekonfiguration mit denselben Einstellungen testen. Dieses können Sie mit Robo-Tests Fehlerkorrekturen und auf Regressionen prüfen.
Der Robo-Test erfasst Protokolldateien, speichert eine Reihe von kommentierten Screenshots und erstellt dann ein Video aus diesen Screenshots, um die simulierten Nutzeraktionen zu zeigen. Anhand dieser Protokolle, Screenshots und Videos können Sie die Ursache für App-Abstürze ermitteln. Diese Robo-Testfunktionen können auch um Probleme mit der Benutzeroberfläche Ihrer App zu erkennen.
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+ ausprobieren möchten, lesen Sie den Artikel Robo ausführen Testen.
Robo-Test-Crawling-Statistik
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 während des Crawlings ausgeführten Aktionen, darunter Robo-Skript-, Affen- und Robo-Anweisungen.
Aktivitäten: Die Anzahl der verschiedenen Aktivitäten, die während des Crawlings erfasst wurden.
Bildschirme: Die Anzahl der verschiedenen Bildschirme, die während des Crawlings besucht wurden.
Test Lab verwendet die Statistiken außerdem, um eine visuelle Darstellung des Robos zu erstellen in Form eines Crawling-Diagramms. Die Grafik hat Bildschirme als Knoten und Aktionen als Kanten. Wenn Sie den Rändern zwischen Bildschirmen folgen, erhalten Sie eine Vorstellung wie der Robo-Test Ihre App während des Crawlings durchlaufen hat.
Zeitlimit für Robo-Test
Je nach Komplexität der Benutzeroberfläche Ihrer App kann ein Robo-Test
fünf Minuten oder länger dauern, um
eine gründliche Reihe von UI-Interaktionen auszuführen. Mi.
empfehlen wir, das Testzeitlimit für die meisten
und 300 Sekunden (5 Minuten) für mäßig komplexe Apps. Der Standardwert
für das Zeitlimit 300 Sekunden (5 Minuten) für Tests über Android Studio und
der Firebase-Konsole und 900 Sekunden (15 Minuten) für Tests, die über die
gcloud
-Befehlszeile.
Zeitüberschreitungsfehler beim Starten der App
Wenn der Start Ihrer App lange dauert, kann der Robo-Test einen Fehler ausgeben. Ihre App crawlen können. Dies geschieht nur bei extrem langen Startzeiten. Das Problem lässt sich nur beheben, indem Sie die App überarbeiten, damit sie schneller startet.
Mehr Kontrolle mit Robo-Scripts
Manchmal benötigen Sie mehr Kontrolle über Ihre Tests. Vielleicht möchten Sie eine gängige User Journey testen oder spezifische UI-Eingaben wie einen Nutzernamen und Passwort. 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 auszuführen . Das hilft den Tests, Ihre UI automatisch zu erkunden. dass sie in der Lage sein müssen, eine Android-UI-Hierarchie für einen Bildschirm in um Tests durchzuführen.
Wenn für einen 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 zur methodischen Robo-Testaktionen simuliert Monkey Actions einfach Tippereignisse auf halbzufälligen Standorte auf dem Bildschirm 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.
Einbindung 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. Robo-Test läuft auf einer Reihe beliebter physischer Geräte an verschiedenen geografischen Standorten, mit Testabdeckung für verschiedene Formfaktoren und Hardwarekonfigurationen. 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 in einem Testkonto und ermöglicht die Eingabe vordefinierter
in die Felder Ihrer App einfügen. Für benutzerdefinierte Anmeldung und anderen vordefinierten Text
kann der Robo-Test Text in
EditText
in Ihrer Anwendung. Sie müssen für jeden String das Feld EditText
identifizieren.
mithilfe eines Android-Ressourcennamens. Weitere Informationen finden Sie unter
Auf Ressourcen zugreifen
Anmelden
Für den Robo-Test gibt es zwei sich gegenseitig ausschließende Methoden zur Anmeldung:
Benutzerdefinierte Anmeldung: Wenn Sie Anmeldedaten für ein Testkonto angeben, müssen Sie Geben Sie mithilfe von Robo-Tests an, wo sie eingegeben werden müssen, und geben Sie diese Anmeldedaten ebenfalls an.
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:
Wählen Sie auf der Seite Dimensionen auswählen die Option Weitere Optionen aus.
Geben Sie unter Anmeldedaten für das Testkonto (optional) den Nutzernamen und Passwortressourcennamen sowie den Nutzernamen und das Passwort für das Testkonto.
Vordefinierte Texteingabe
Sie können benutzerdefinierten Eingabetext für andere von Ihrer App verwendete Textfelder angeben. So geben Sie Text für zusätzliche Felder ein:
Wählen Sie auf der Seite Dimensionen auswählen die Option Weitere Optionen aus.
Geben Sie unter Zusätzliche Felder (optional) einen oder mehrere Ressourcennamen und die Strings in die entsprechenden Textfelder ein.
Fehler bei vordefinierten Texteingaben {:#Vordefinierte-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,
ohne Ihren Text einzugeben, wird das Crawling aber wie gewohnt fortgesetzt.
Deeplinks
Sie können bis zu drei Deeplinks angeben, die von Ihrer App unterstützt werden und die getestet werden sollen.
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 gestartet
(mit der Methode
ACTION_MAIN
Intent) und bis zum angegebenen Zeitlimit gecrawlt. Nach dem Haupt-Crawling
wird der Link jeweils weitere 30 Sekunden lang gecrawlt.
Deeplink-Fehler
Wenn der Robo-Test keine Aktivität finden kann, die mit deinem Deeplink übereinstimmt, Test Lab ignoriert den Link. 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 die Lizenzierung beim Testen Ihrer App mit Test Lab überprüft werden kann, müssen Sie Ihre App im Play Store im Produktionskanal veröffentlichen. So testen Sie Ihre App in der Alpha- oder Betaversion mit Test Lab, entferne die Lizenzprüfung, bevor du deine App auf hochlädst Test Lab
Nächste Schritte
- Tests anpassen mit Robo-Scripts.