View a markdown version of this page

Integration von Device Farm in ein Gradle-Build-System - 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.

Integration von Device Farm in ein Gradle-Build-System

Das Device Farm Gradle-Plugin bietet die Integration von AWS Device Farm in das Gradle-Build-System in Android Studio. Weitere Informationen finden Sie unter Gradle.

Anmerkung

Um das Gradle-Plugin herunterzuladen, gehen Sie zu GitHub und folgen Sie den Anweisungen unter. Erstellen des Device Farm Gradle-Plugins

Das Device Farm Gradle Plugin bietet Device Farm-Funktionen aus Ihrer Android Studio-Umgebung. Sie können Tests auf echten Android-Telefonen und -Tablets starten, die von Device Farm gehostet werden.

Dieser Abschnitt enthält eine Reihe von Verfahren zum Einrichten und Verwenden des Device Farm Gradle Plugins.

Abhängigkeiten

Laufzeit

  • Das Device Farm Gradle Plugin benötigt das AWS Mobile SDK 1.10.15 oder höher. Weitere Informationen und eine Anleitung zur Installation des SDK finden Sie unter AWS Mobile-SDK.

  • Android Tools Builder Test-API 0.5.2

  • Apache Commons Lang3 3.3.4

For Unit Tests (Für Einheitentests)

  • Testng 6.8.8

  • Jmockit 1.19

  • Android Gradle Tools 1.3.0

Schritt 1: Erstellen des AWS Device Farm Gradle-Plug-ins

Dieses Plugin bietet die Integration von AWS Device Farm in das Gradle-Build-System in Android Studio. Weitere Informationen finden Sie unter Gradle.

Anmerkung

Das Erstellen des Plug-Ins ist optional. Das Plug-In wird über Maven Central veröffentlicht. Wenn Sie Gradle das direkte Herunterladen des Plug-Ins zulassen möchten, überspringen Sie diesen Schritt und springen Sie zu Schritt 2: Einrichtung des AWS Device Farm Gradle-Plug-ins.

So führen Sie das Plug-In aus
  1. Gehe zum Repository GitHub und klone es.

  2. Erstellen Sie das Plug-In mithilfe von gradle install.

    Das Plug-in wird auf Ihrem lokalen Maven Repository installiert.

Nächster Schritt: Schritt 2: Einrichtung des AWS Device Farm Gradle-Plug-ins

Schritt 2: Einrichtung des AWS Device Farm Gradle-Plug-ins

Wenn noch nicht erfolgt, klonen Sie das Repository und installieren Sie das Plug-In mit dem hier beschriebenen Verfahren: Erstellen des Device Farm Gradle-Plugins.

So konfigurieren Sie das AWS Device Farm Gradle-Plugin
  1. Fügen Sie das Plug-In-Artefakt Ihrer Abhängigkeitsliste in build.gradle hinzu.

    buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.0' } }
  2. Konfigurieren Sie das Plug-In in Ihrer build.gradle-Datei. Die folgende testspezifische Konfiguration dient als Anleitung:

    apply plugin: 'devicefarm' devicefarm { // Required. The project must already exist. You can create a project in the AWS Device Farm console. projectName "My Project" // required: Must already exist. // Optional. Defaults to "Top Devices" // devicePool "My Device Pool Name" // Optional. Default is 150 minutes // executionTimeoutMinutes 150 // Optional. Set to "off" if you want to disable device video recording during a run. Default is "on" // videoRecording "on" // Optional. Add this if you have a subscription and want to use your unmetered slots // useUnmeteredDevices() // Required. You must specify either accessKey and secretKey OR roleArn. roleArn takes precedence. authentication { accessKey "AKIAIOSFODNN7EXAMPLE" secretKey "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" // OR roleArn "arn:aws:iam::111122223333:role/DeviceFarmRole" } // Optionally, you can // - enable or disable Wi-Fi, Bluetooth, GPS, NFC radios // - set the GPS coordinates // - specify files and applications that must be on the device when your test runs devicestate { // Extra files to include on the device. // extraDataZipFile file("path/to/zip") // Other applications that must be installed in addition to yours. // auxiliaryApps files(file("path/to/app"), file("path/to/app2")) // By default, Wi-Fi, Bluetooth, GPS, and NFC are turned on. // wifi "off" // bluetooth "off" // gps "off" // nfc "off" // You can specify GPS location. By default, this location is 47.6204, -122.3491 // latitude 44.97005 // longitude -93.28872 } // By default, the Instrumentation test is used. // If you want to use a different test type, configure it here. // You can set only one test type (for example, Calabash, Fuzz, and so on) // Fuzz // fuzz { } // Calabash // calabash { tests file("path-to-features.zip") } }
  3. Führen Sie Ihren Device Farm-Test mit der folgenden Aufgabe aus:gradle devicefarmUpload.

    In der Build-Ausgabe wird ein Link zur Device Farm-Konsole ausgedruckt, über die Sie Ihre Testausführung überwachen können.

Nächster Schritt: Generieren eines IAM-Benutzers im Device Farm Gradle-Plugin

Schritt 3: Generieren eines IAM-Benutzers im Device Farm Gradle-Plugin

AWS Identity and Access Management (IAM) hilft Ihnen bei der Verwaltung von Berechtigungen und Richtlinien für die Arbeit mit Ressourcen. AWS In diesem Thema erfahren Sie, wie Sie einen IAM-Benutzer mit Berechtigungen für den Zugriff auf AWS Device Farm-Ressourcen generieren.

Falls Sie dies noch nicht getan haben, führen Sie die Schritte 1 und 2 aus, bevor Sie einen IAM-Benutzer generieren.

Wir empfehlen, dass Sie Ihr AWS Root-Konto nicht für den Zugriff auf Device Farm verwenden. Erstellen Sie stattdessen einen neuen IAM-Benutzer (oder verwenden Sie einen vorhandenen IAM-Benutzer) in Ihrem AWS Konto und greifen Sie dann mit diesem IAM-Benutzer auf Device Farm zu.

Anmerkung

Das AWS Root-Konto oder der IAM-Benutzer, mit dem Sie die folgenden Schritte ausführen, muss berechtigt sein, die folgende IAM-Richtlinie zu erstellen und sie an den IAM-Benutzer anzuhängen. Weitere Informationen finden Sie unter Arbeiten mit Richtlinien.

So erstellen Sie einen neuen Benutzer mit der richtigen Zugriffsrichtlinie in IAM
  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie Users (Benutzer) aus.

  3. Wählen Sie Create New Users (Neue Benutzer erstellen) aus.

  4. Geben Sie den Benutzernamen Ihrer Wahl ein.

    Beispiel, GradleUser.

  5. Wählen Sie Erstellen aus.

  6. Wählen Sie Download Credentials (Download-Anmeldeinformationen) aus und speichern Sie die Anmeldeinformationen an einem Ort, von dem Sie sie später leicht abrufen können.

  7. Wählen Sie Close (Schließen) aus.

  8. Wählen Sie den Benutzernamen in der Liste aus.

  9. Erweitern Sie unter Permissions (Berechtigungen) die Überschrift Inline Policies (Eingebundene Richtlinien), indem Sie auf den Pfeil nach unten auf der rechten Seite klicken.

  10. Wählen Sie Klicken Sie hier, wo es heißt, Es gibt keine eingebetteten Richtlinien zum Anzeigen. Um einen zu erstellen, klicken Sie hier.

  11. Wählen Sie auf der Seite Set Permissions (Berechtigungen festlegen) die Option Custom Policy (Benutzerdefinierte Richtlinie) aus.

  12. Wählen Sie Select (Auswählen).

  13. Geben Sie einen Namen für die Richtlinie ein, z. B. AWSDeviceFarmGradlePolicy.

  14. Fügen Sie die folgende Richtlinie unter Policy Document (Richtliniendokument) ein.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
  15. Klicken Sie auf Apply Policy (Richtlinie anwenden).

Nächster Schritt: Konfiguration der Testtypen.

Weitere Informationen finden Sie unter Einen IAM-Benutzer erstellen (AWS-Managementkonsole) oderEinrichtung.

Schritt 4: Konfiguration der Testtypen

Standardmäßig führt das AWS Device Farm Gradle-Plugin den Instrumentierung für Android und AWS Device Farm Test aus. Wenn Sie eigene Tests ausführen oder zusätzliche Parameter angeben möchten, können Sie einen Testtyp konfigurieren. In diesem Thema finden Sie Informationen zu allen verfügbaren Testtypen und wie Sie in Android Studie vorgehen müssen, um sie für die Verwendung zu konfigurieren. Weitere Informationen zu den verfügbaren Testtypen in Device Farm finden Sie unterTesten Sie Frameworks und integrierte Tests in AWS Device Farm.

Wenn noch nicht erfolgt, führen die Schritte 1 bis 3 aus, bevor Sie Testtypen konfigurieren.

Anmerkung

Wenn Sie Geräteplätze verwenden, beachten Sie, dass das Geräteplatz-Feature standardmäßig deaktiviert ist.

Appium

Device Farm bietet Unterstützung für Appium Java JUnit und TestNG für Android.

Sie können useTestNG() oder useJUnit() auswählen. JUnit ist der Standardwert und muss nicht explizit angegeben werden.

appium { tests file("path to zip file") // required useTestNG() // or useJUnit() }

Built-in: Flaum

Device Farm bietet einen integrierten Fuzz-Testtyp, der nach dem Zufallsprinzip Benutzeroberflächenereignisse an Geräte sendet und dann die Ergebnisse meldet.

fuzz { eventThrottle 50 // optional default eventCount 6000 // optional default randomizerSeed 1234 // optional default blank }

Weitere Informationen finden Sie unter Ausführen des integrierten Fuzz-Tests von Device Farm (Android und iOS).

Instrumentierung

Device Farm bietet Unterstützung für Instrumentierung (JUnit, Espresso, Robotium oder andere instrumentelle Tests) für Android. Weitere Informationen finden Sie unter Instrumentierung für Android und AWS Device Farm.

Wenn Sie einen Instrumentierungstest in Gradle ausführen, verwendet Device Farm die aus Ihrem AndroidTest-Verzeichnis generierte .apk Datei als Quelle für Ihre Tests.

instrumentation { filter "test filter per developer docs" // optional }