Arbeiten mit Instrumentierung für Android und AWS Device Farm - AWS Device Farm

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Instrumentierung für Android und AWS Device Farm

Device Farm bietet Unterstützung für Instrumentation (JUnit, Espresso, Robotium oder andere instrumentationsbasierte Tests) für Android.

Device Farm bietet auch eine Android-Beispielanwendung und Links zu Arbeitstests in drei Android-Automatisierungsframeworks, darunter Instrumentation (Espresso). Die Device Farm Farm-Beispiel-App für Android steht unter zum Download bereit GitHub.

Was ist Instrumentierung?

Mit der Android-Instrumentierung können Sie Rückrufmethoden in Ihrem Testcode aufrufen. So können Sie den Lebenszyklus einer Komponente schrittweise durchlaufen, so als ob Sie die Komponente debuggen. Weitere Informationen finden Sie unter Instrumentierte Tests im Abschnitt Testtypen und -orte der Dokumentation zu den Android Developer Tools.

Laden Sie Ihre Android-Instrumentierungstests hoch

Verwenden Sie die Device Farm Farm-Konsole, um Ihre Tests hochzuladen.

  1. Melden Sie sich bei der Device Farm Farm-Konsole unter https://console.aws.amazon.com/devicefarm an.

  2. Wählen Sie im Navigationsbereich Device Farm die Option Mobile Device Testing und dann Projects aus.

  3. Wählen Sie in der Projektliste das Projekt aus, in das Sie Ihre Tests hochladen möchten.

    Tipp

    Sie können die Suchleiste verwenden, um die Projektliste nach Namen zu filtern.

    Befolgen Sie die Anweisungen unter Erstellen Sie ein Projekt in AWS Device Farm, um ein neues Projekt zu erstellen.

  4. Wenn die Schaltfläche Create a new run (Einen neuen Testlauf erstellen) angezeigt wird, wählen Sie diese Option aus.

  5. Wählen Sie auf der Seite „Anwendung auswählen“ die Option Datei auswählen aus.

  6. Navigieren Sie zu der Datei mit Ihrer Android-Anwendung, und wählen Sie diese aus. Es muss sich dabei um eine APK-Datei handeln.

  7. Wählen Sie Weiter aus.

  8. Wählen Sie auf der Seite Konfigurieren im Abschnitt Test-Framework einrichten die Option Instrumentation und dann Datei auswählen aus.

  9. Navigieren Sie zu der APK-Datei, die Ihre Tests enthält, und wählen Sie diese aus.

  10. Wählen Sie Weiter und führen Sie dann die verbleibenden Anweisungen aus, um Geräte auszuwählen und den Rechenlauf zu starten.

Erstellen von Screenshots bei Android-Instrumentierungstests

Sie können im Rahmen Ihrer Android-Instrumentierungstests Screenshots erstellen.

Rufen Sie eine der folgenden Methoden auf, um Screenshots zu erstellen:

  • Rufen Sie für Robotium die Methode takeScreenShot auf (z. B. solo.takeScreenShot();).

  • Rufen Sie für Spoon die Methode screenshot auf, z. B.:

    Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");

Während eines Testlaufs ruft Device Farm Screenshots von den folgenden Speicherorten auf den Geräten ab, sofern sie vorhanden sind, und fügt sie dann den Testberichten hinzu:

  • /sdcard/robotium-screenshots

  • /sdcard/test-screenshots

  • /sdcard/Download/spoon-screenshots/test-class-name/test-method-name

  • /data/data/application-package-name/app_spoon-screenshots/test-class-name/test-method-name

Zusätzliche Überlegungen zu Android-Instrumentierungstests

System Animations (Systemanimationen)

Gemäß der Android-Dokumentation für Espresso-Tests wird empfohlen, die Systemanimationen beim Testen auf echten Geräten auszuschalten. Device Farm deaktiviert automatisch die Einstellungen Window Animation Scale, Transition Animation Scale und Animator Duration Scale, wenn es mit dem Testrunner ndroidJUnit android.support.test.runner.A Runner Instrumentation ausgeführt wird.

Test Recorders (Test-Aufzeichnungen)

Device Farm unterstützt Frameworks wie Robotium, die über record-and-playback Skripttools verfügen.

Testparsing im Standardmodus

Im Standardmodus einer Ausführung analysiert Device Farm Ihre Testsuite und identifiziert die eindeutigen Testklassen und Methoden, die ausgeführt werden sollen. Dies erfolgt über ein Tool namens Dex Test Parser.

Wenn eine APK-Datei mit Android-Instrumentierung als Eingabe angegeben wird, gibt der Parser die vollständig qualifizierten Methodennamen der Tests zurück, die den Konventionen JUnit 3 und JUnit 4 entsprechen.

Um dies in einer lokalen Umgebung zu testen:

  1. Laden Sie die dex-test-parserBinärdatei herunter.

  2. Führen Sie den folgenden Befehl aus, um die Liste der Testmethoden abzurufen, die auf Device Farm ausgeführt werden:

    java -jar parser.jar path/to/apk path/for/output