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 so ändern, dass Sie sie mit Test Lab integrieren und ausführen können. 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 dem 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 bei Instrumentierungstests 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 eine Systemeigenschaft firebase.test.lab
gelesen und ein 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.
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 Smart Sharding 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 Smart Sharding mit dem Gradle-Plug-in „Verwaltete Geräte“ Test Lab aktivieren möchten, folgen Sie der Anleitung unter Testläufe mit Smart Sharding optimieren.