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 Sie instrumentierte Tests in Android Studio ändern, um sie einzubinden und mit Test Lab auszuführen. Eine Anleitung dazu, wie Sie mit Test Lab über die Android Studio-Benutzeroberfläche eine Testmatrix erstellen, einen instrumentierten Test ausführen und die Testergebnisse ansehen, finden Sie unter Tests mit Firebase Test Lab ausführen.
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 zu Ihrem Projekt hinzufügen.
Tests mit Espresso Test Recorder erstellen
Mit dem Espresso Test Recorder können Sie UI-Tests für Ihre App erstellen, ohne Testcode schreiben zu müssen. Sie können Ihre Interaktionen mit einem Gerät aufzeichnen und Behauptungen hinzufügen, um UI-Elemente in bestimmten Snapshots Ihrer App zu überprüfen. Espresso Test Recorder verwendet dann die gespeicherte Aufzeichnung und generiert automatisch einen entsprechenden Espresso-UI-Test, mit dem Sie Ihre App in Test Lab testen 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 wird das Systemattribut firebase.test.lab
gelesen und der String testLabSetting
auf true
gesetzt, 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
Mit Gradle-verwalteten Geräten über das Firebase Test Lab-Plug-in können Sie automatisierte instrumentierte Tests im großen Maßstab auf Test Lab-Geräten ausführen, basierend auf den Konfigurationen in den Gradle-Dateien Ihres Projekts.
Gradle-verwaltete Geräte bieten auch intelligente Fragmentierung, mit der Sie Tests basierend auf Ihrem vorherigen 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 Smart Sharding können Sie große Test-Suites parallel ausführen. Diese Funktion eignet sich daher gut für CI/CD-Abläufe.
Wenn Sie die intelligente Fragmentierung mit dem Test Lab-Plug-in für Gradle-verwaltete Geräte aktivieren möchten, folgen Sie der Anleitung unter Testläufe mit intelligenter Fragmentierung optimieren.