Screenshots in Instrumentierungstests erstellen

Firebase Test Lab umfasst eine Bibliothek , dass Sie Screenshots nehmen verwenden können , wenn Tests Instrumentierung ausgeführt wird , wie zum Beispiel Tests mit dem schriftlichen Test - Framework Espresso . Um diese Fähigkeit zu Ihrem Test hinzufügen möchten , laden Sie die cloudtestingscreenshotter_lib.aar Bibliothek.

Die Möglichkeit , Screenshots zu nehmen ist bereits in den Test APK eingebaut, app-Debug-Test-unaligned.apk, für die Notizbuch Beispielanwendung und Screenshots sind auch erfasst , wenn Sie laufen Robo - Test . In den folgenden Anweisungen erfahren Sie, wie Sie die Screenshot-Bibliothek zu Ihrer App hinzufügen und diese Bibliothek aus Ihrem Test aufrufen.

Nachdem Ihr Test ausgeführt wurde, können Sie die Screenshots in Android Studio oder in der Firebase-Konsole überprüfen.

Fügen Sie die Screenshot-Bibliothek zu Ihrem Projekt hinzu

  1. In Android Studio, öffnen Sie die Ansicht Projekt und die rechte Maustaste auf Ihre Projektnamen ein . Dann klicken Sie auf Neu> Verzeichnis.

  2. Im Dialog Neues Verzeichnis, geben Sie Aars. Dadurch entsteht ein Aars Verzeichnis an der Wurzel des Testprojektes (als Peer - Verzeichnis des App - Ordner).

  3. Kopieren cloudtestingscreenshotter_lib.aar und in den Aars Ordner einfügen.

  4. In Ihrer App auf Stammebene (Projektebene) build.gradle Datei, fügen Sie einen Verweis auf die Aars Ordner in jedem repositories Block:

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. In Ihrem Modul Top-Level - Verzeichnis (für das Notizbuch Beispiel app, das ist die App - Verzeichnis), die öffnen build.gradle Datei und eine Abhängigkeit cloudtestingscreenshotter_lib.aar auf der obersten Ebene hinzufügen dependencies Block:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. In Ihrer AndroidManifest.xml Datei, geben Sie Systemberechtigungen für Ihre Anwendung , indem die folgenden Zeilen im <manifest> -Tag. Wenn Sie Tests auf 10 Android (API - Ebene 29) oder höher, lassen Sie die WRITE_EXTERNAL_STORAGE Erlaubnis (Ihre Anwendung erfordert nicht diese Berechtigung , um Lese- und Schreib Screenshots zum Gerät).

    <manifest ... >
       <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.INTERNET"/>
       ...
    </manifest>
    

Machen Sie einen Screenshot von Ihrem Test

An jedem Punkt in Ihrem Test , in dem Sie einen Screenshot machen wollen, rufen Sie die ScreenShotter.takeScreenshot Methode aus der cloudtestingscreenshotter_lib Bibliothek, wo das erste Argument ist ein Label , dass Sie den Screenshot zu identifizieren verwenden ( main_screen_2 wird im folgende Beispiel verwendet):

Java

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);

Kotlin+KTX

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)

Screenshots ansehen

Nach Ihrem Test abgeschlossen ist, können Sie keine Screenshots während des Tests genommen vergleichen , indem ein Element in den Testergebnisse Baum auswählen und dann die Ansicht Screenshots klickenScreenshots ansehen Möglichkeit.

Screenshot comparison screen

Sie können Screenshots aus verschiedenen Konfigurationen wie folgt auswählen und vergleichen:

Aufgabe Aktion
Wechseln Sie zwischen Testausführungen. Verwenden Sie das Dropdown-Menü in der oberen linken Ecke.

Testfallmenü
Wechseln Sie zwischen Screenshots innerhalb einer Testausführung. Verwenden Sie die Pfeile in der oberen rechten Ecke.

Screenshot-Umschalter
Fügen Sie der aktuellen Ansicht zusätzliche Screenshot-Vergleichsfelder hinzu. Klicken Sie auf Vergleichen.

Vergleichen Sie
Wählen Sie eine andere Testdimension (Gerätetyp, Ausrichtung, Gebietsschema usw.). Wählen Sie in der Liste unten im Screenshot ein neues Dimensionselement aus.

Nächster Schritt

Laden Sie die Notizbuch Beispielanwendung .