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, zum Ausführen eines instrumentierten Tests und zum Anzeigen der Testergebnisse finden Sie unter Ausführen Ihrer Tests mit Firebase Test Lab .

Machen Sie Screenshots

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 Behauptungen 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 .

Ändern Sie das instrumentierte Testverhalten für das Testlabor

Test Lab stellt eine Systemvariable bereit, die Sie zu Ihren instrumentierten Tests hinzufügen können, sodass Sie festlegen können, dass sich diese bei der Ausführung in Test Lab anders verhalten als bei der Ausführung auf Ihrem eigenen Testgerät oder Emulator.

Das folgende Codebeispiel liest eine Systemeigenschaft, firebase.test.lab , und setzt eine Zeichenfolge, testLabSetting auf true , wenn der Test im Testlabor ausgeführt wird. Anschließend verwendet es den Wert dieser Zeichenfolge, um zu steuern, ob weitere 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
    // ...
}

Verwenden Sie von Gradle verwaltete Geräte über das Firebase Test Lab-Plugin

Mit Gradle Managed Devices über das Firebase Test Lab-Plugin 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 Smart Sharding, mit dem Sie Tests basierend auf Ihrem bisherigen Testverlauf optimal auf Shards verteilen können. Beim Smart Sharding laufen Shards ungefähr gleich lange und liefern Testergebnisse so schnell wie möglich. Mit Smart Sharding können Sie große Testsuiten parallel ausführen, wodurch sich diese Funktion gut für CI/CD-Flows eignet.

Um Smart Sharding mit dem Gradle Managed Devices Test Lab-Plugin zu aktivieren, befolgen Sie die Anweisungen unter Testläufe mit Smart Sharding optimieren .