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 integriert, um instrumentierte Tests durchgeführt und die Testergebnisse überprüft werden.

In diesem Leitfaden wird beschrieben, wie du instrumentierte Tests in Android Studio änderst, können sie mit Test Lab integrieren und ausführen. Anweisungen zur Verwendung Test Lab aus der Android Studio-Benutzeroberfläche aus, um eine Testmatrix zu erstellen, führe einen und die Testergebnisse ansehen, Führe deine Tests mit Firebase Test Lab aus.

Screenshots aufnehmen

Test Lab bietet Unterstützung für die Aufnahme von Screenshots während der Ausführung instrumentierte Tests durchführen. Informationen zum Erstellen von Screenshots findest du unter Fügen Sie Ihrem Projekt die Screenshot-Bibliothek hinzu.

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. Sie können Ihre Interaktionen mit einem Gerät aufzeichnen und Assertions, um UI-Elemente in bestimmten Momentaufnahmen der App zu überprüfen. Espresso Der Testrekorder nimmt dann die gespeicherte Aufnahme und erstellt automatisch eine entsprechenden Espresso-UI-Test, den Sie zum Testen Ihrer App in Test Lab ausführen können.

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

Verhalten von instrumentierten Tests für Test Lab ändern

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

Im folgenden Codebeispiel werden eine Systemeigenschaft, firebase.test.lab, und legt den String testLabSetting auf true fest, wenn der Test in Test Lab ausgeführt wird. Dann wird anhand des Werts dieser Zeichenfolge gesteuert, ob zusätzliche 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
    // ...
}

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

Von Gradle verwaltete Geräte über Firebase Test Lab können Sie automatisierte instrumentierte Tests in großem Umfang auf Test Lab ausführen. Geräte basierend auf den Konfigurationen in den Gradle-Dateien Ihres Projekts.

Von Gradle verwaltete Geräte bieten außerdem intelligentes Sharding, mit dem Sie Tests basierend auf Ihrem bisherigen Testverlauf optimal auf Shards verteilen können. Bei der intelligenten Sharding-Technologie laufen die Shards ungefähr gleich lang und geben Testergebnisse so schnell wie möglich zurück. Mit der intelligenten Fragmentierung können Sie große Testsuites in Parallel. Daher eignet sich diese Funktion gut für CI/CD-Abläufe.

So aktivieren Sie die intelligente Fragmentierung mithilfe des Test Lab-Plug-ins für verwaltete Gradle-verwaltete Geräte: folgen Sie der Anleitung unter Optimize-Testläufe mit smarten Fragmentierung .