Tests mit Android Studio ausführen

Firebase Test Lab bietet eine cloudbasierte Infrastruktur zum Testen von Android-Apps und ist vollständig in Android Studio eingebunden, um Instrumentierungstests auszuführen und Testergebnisse zu prüfen.

In diesem Leitfaden wird beschrieben, wie Sie Instrumentierungstests in Android Studio so ändern, dass Sie sie in Test Lab einbinden und ausführen können. Eine Anleitung zum Erstellen einer Testmatrix, zum Ausführen eines Instrumentierungstests und zum Aufrufen der Testergebnisse mit Test Lab über die Android Studio-Benutzeroberfläche finden Sie unter Tests mit Firebase Test Lab ausführen.

Screenshots erstellen

Test Lab bietet Unterstützung für das Erstellen von Screenshots beim Ausführen von Instrumentierungstests. Informationen zum Erstellen von Screenshots finden Sie unter Screenshot-Bibliothek zu Ihrem 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 Assertions hinzufügen, um UI-Elemente in bestimmten Snapshots Ihrer App zu prüfen. Der 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 des Instrumentierungstests für Test Lab ändern

Test Lab bietet 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 die Systemeigenschaft firebase.test.lab gelesen und der String testLabSetting auf true gesetzt, 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
    // ...
}

Von Gradle verwaltete Geräte über das Firebase Test Lab-Plug-in verwenden

Mit von Gradle verwalteten Geräten über das Plug-in Firebase Test Lab können Sie automatisierte Instrumentierungstests in großem Umfang auf Test Lab-Geräten ausführen, basierend auf den Konfigurationen in den Gradle-Dateien Ihres Projekts.

Von Gradle verwaltete Geräte bieten auch intelligentes Sharding, mit dem Sie Tests basierend auf Ihrem bisherigen Testverlauf optimal auf Shards verteilen können. Mit Smart 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 Plug-in für von Gradle verwaltete Geräte (Test Lab) aktivieren möchten, folgen Sie der Anleitung unter Testläufe mit Smart Sharding optimieren.