Check out what’s new from Firebase at Google I/O 2022. Learn more

Führen Sie Tests mit Android Studio durch

Firebase Test Lab bietet eine Cloud-basierte Infrastruktur zum Testen von Android-Apps und bietet eine vollständige Integration mit Android Studio, um instrumentierte Tests auszuführen und Testergebnisse zu überprüfen.

In diesem Leitfaden wird beschrieben, wie Sie instrumentierte Tests in Android Studio ändern, damit Sie sie mit Test Lab integrieren und ausführen können. Anweisungen zur Verwendung von Test Lab über die Benutzeroberfläche von Android Studio zum Erstellen einer Testmatrix, Ausführen eines instrumentierten Tests und Anzeigen der Testergebnisse finden Sie unter Ausführen Ihrer Tests mit Firebase Test Lab .

Screenshots aufnehmen

Test Lab bietet Unterstützung für das Erfassen von Screenshots beim Ausführen von instrumentierten Tests. Informationen zum Aufnehmen von Screenshots finden Sie unter Hinzufügen der Screenshot-Bibliothek zu Ihrem Projekt .

Erstellen Sie Tests mit Espresso Test Recorder

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 Assertionen hinzufügen, um UI-Elemente in bestimmten Snapshots Ihrer App zu überprüfen. Espresso Test Recorder nimmt dann die gespeicherte Aufzeichnung und generiert automatisch einen entsprechenden Espresso-UI-Test, den Sie ausführen können, um Ihre App im Testlabor zu testen.

Weitere Informationen finden Sie unter Erstellen von UI-Tests mit Espresso Test Recorder .

Modifizieren Sie das instrumentierte Testverhalten für Test Lab

Test Lab stellt eine Systemvariable bereit, die Sie Ihren instrumentierten Tests hinzufügen können, sodass Sie bewirken können, dass sie sich anders verhalten, wenn Sie sie in Test Lab ausführen, als wenn Sie sie auf Ihrem eigenen Testgerät oder Emulator ausführen.

Das folgende Codebeispiel liest eine Systemeigenschaft firebase.test.lab und legt eine Zeichenfolge testLabSetting auf true fest, wenn der Test in Test Lab ausgeführt wird. Dann verwendet es den Wert dieser Zeichenfolge, um zu steuern, ob zusätzliche Anweisungen ausgeführt werden:

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}