Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Führen Sie Tests mit Android Studio durch

Firebase Test Lab bietet eine cloudbasierte Infrastruktur zum Testen von Android-Apps und bietet eine vollständige Integration mit Android Studio zum Ausführen instrumentierter Tests und zum Überprüfen von Testergebnissen.

In dieser Anleitung wird beschrieben, wie Sie instrumentierte Tests in Android Studio ändern, damit Sie sie in Test Lab integrieren und ausführen können. Anweisungen zur Verwendung von Test Lab über die Android Studio-Benutzeroberfläche 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 die Aufnahme von Screenshots beim Ausführen instrumentierter 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 in Test Lab zu testen.

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

Ändern des instrumentierten Testverhaltens für Test Lab

Test Lab stellt eine Systemvariable bereit, die Sie zu 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 folgende Codebeispiel liest eine Systemeigenschaft, firebase.test.lab und setzt einen String, testLabSetting zu true , wenn der Test in Test Lab läuft. 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
    // ...
}