Firebase Test Lab bietet eine cloudbasierte Infrastruktur zum Testen von Android-Apps und ist vollständig in Android Studio integriert, sodass instrumentierte Tests ausgeführt und Testergebnisse überprüft werden können.
In diesem Leitfaden wird beschrieben, wie Sie instrumentierte Tests in Android Studio ändern, damit Sie sie in Test Lab einbinden und ausführen können. Eine Anleitung dazu, wie Sie Test Lab über die Android Studio-Benutzeroberfläche verwenden, um eine Testmatrix zu erstellen, einen instrumentierten Test auszuführen und die Testergebnisse anzusehen, finden Sie unter Tests mit Firebase Test Lab ausführen.
Screenshots erstellen
Test Lab bietet Unterstützung für das Aufnehmen von Screenshots beim Ausführen instrumentierter Tests. Informationen zum Erstellen von Screenshots finden Sie unter Screenshot-Bibliothek zum 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 zu müssen. Sie können Ihre Interaktionen mit einem Gerät aufzeichnen und Zusicherungen hinzufügen, um UI-Elemente in bestimmten Momentaufnahmen Ihrer App zu überprüfen. Espresso Test Recorder verwendet dann die gespeicherte Aufzeichnung und generiert automatisch einen entsprechenden Espresso-UI-Test, den Sie ausführen können, um Ihre App in Test Lab zu testen.
Weitere Informationen finden Sie unter UI-Tests mit Espresso Test Recorder erstellen.
Verhalten instrumentierter Tests für Test Lab ändern
Test Lab ist eine Systemvariable, die Sie Ihren instrumentierten Tests hinzufügen können, damit sie sich bei der Ausführung in Test Lab anders verhalten als bei der Ausführung auf Ihrem eigenen Testgerät oder Emulator.
Im folgenden Codebeispiel wird eine Systemeigenschaft, firebase.test.lab, gelesen und ein String, testLabSetting, auf true festgelegt, wenn der Test in Test Lab ausgeführt wird.
Anschließend wird der Wert dieses Strings verwendet, um zu steuern, ob zusätzliche Anweisungen ausgeführt werden:
Kotlin
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 // ... }
Gradle Managed Devices über das Firebase Test Lab-Plug-in verwenden
Mit dem Firebase Test Lab-Plug-in für von Gradle verwaltete Geräte können Sie automatisierte instrumentierte Tests im großen Maßstab auf Test Lab-Geräten ausführen. Die Konfigurationen in den Gradle-Dateien Ihres Projekts werden dabei berücksichtigt.
Gradle-verwaltete Geräte bieten auch Smart Sharding, mit dem Sie Tests basierend auf Ihrem bisherigen Testverlauf optimal auf Shards verteilen können. Beim intelligenten Sharding werden Shards ungefähr gleich lang ausgeführt und Testergebnisse so schnell wie möglich zurückgegeben. 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 Managed Devices-Plug-in Test Lab aktivieren möchten, folgen Sie der Anleitung unter Testläufe mit Smart Sharding optimieren.