Firebase Test Lab bietet eine cloudbasierte Infrastruktur für das Testen von Android-Apps und ist vollständig in Android Studio integriert, um instrumentierte Tests auszuführen und Testergebnisse zu überprüfen.
In diesem Leitfaden wird beschrieben, wie du instrumentierte Tests in Android Studio änderst, können sie mit Test Lab integrieren und ausführen. Anweisungen zur Verwendung Test Lab aus der Android Studio-Benutzeroberfläche, um eine Testmatrix zu erstellen, führe einen und die Testergebnisse ansehen, Führe deine Tests mit Firebase Test Lab aus.
Screenshots aufnehmen
Test Lab unterstützt das Aufnehmen von Screenshots beim Ausführen von instrumentierten Tests. Informationen zum Erstellen von Screenshots finden Sie unter Screenshot-Bibliothek dem Projekt hinzufügen.
Tests mit Espresso Test Recorder erstellen
Mit dem Espresso Test Recorder-Tool können Sie UI-Tests für Ihre App erstellen, ohne Testcode schreiben. Sie können Ihre Interaktionen mit einem Gerät aufzeichnen und Assertions, um UI-Elemente in bestimmten Momentaufnahmen der App zu überprüfen. Espresso Testrekorder nimmt dann die gespeicherte Aufnahme und erstellt automatisch eine entsprechenden Espresso-UI-Test, den Sie zum Testen Ihrer App in Test Lab ausführen können.
Weitere Informationen finden Sie unter UI-Tests mit Espresso Test Recorder erstellen.
Verhalten von instrumentierten Tests für Test Lab ändern
Test Lab bietet eine Systemvariable, die Sie Ihren instrumentierten Tests hinzufügen können, damit sie sich beim Ausführen in Test Lab anders verhalten als beim Ausführen auf Ihrem eigenen Testgerät oder Emulator.
Im folgenden Codebeispiel werden eine Systemeigenschaft, firebase.test.lab
, und
legt den String testLabSetting
auf true
fest, wenn der Test in Test Lab ausgeführt wird.
Anhand des Werts dieses Strings wird dann gesteuert, ob zusätzliche Anweisungen ausgeführt werden:
Kotlin+KTX
val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab") if ("true" == testLabSetting) { // Do something when running in Test Lab // ... }
Java
String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab"); if ("true".equals(testLabSetting)) { // Do something when running in Test Lab // ... }
Von Gradle verwaltete Geräte über das Firebase Test Lab-Plug-in verwenden
Von Gradle verwaltete Geräte über Firebase Test Lab können Sie automatisierte instrumentierte Tests in großem Umfang auf Test Lab ausführen. Geräte basierend auf den Konfigurationen in den Gradle-Dateien Ihres Projekts.
Von Gradle verwaltete Geräte bieten außerdem intelligentes Sharding, mit dem Sie Tests basierend auf Ihrem bisherigen Testverlauf optimal auf Shards verteilen können. Bei der intelligenten Sharding-Technologie laufen die Shards ungefähr gleich lang und geben Testergebnisse so schnell wie möglich zurück. Mit der intelligenten Fragmentierung können Sie große Testsuites in Daher eignet sich diese Funktion gut für CI/CD-Abläufe.
So aktivieren Sie die intelligente Fragmentierung mit dem Test Lab-Plug-in für Gradle-verwaltete Geräte: folgen Sie der Anleitung unter Optimize-Testläufe mit smarten Fragmentierung .