Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Integrazione di Device Farm con un sistema di build Gradle
Il plugin Device Farm Gradle fornisce l'integrazione di AWS Device Farm con il sistema di build Gradle in Android Studio. Per ulteriori informazioni, consulta Gradle
Nota
Per scaricare il plugin Gradle, vai a GitHub
Il plugin Device Farm Gradle fornisce la funzionalità Device Farm dal tuo ambiente Android Studio. Puoi iniziare i test su telefoni e tablet Android reali ospitati da Device Farm.
Questa sezione contiene una serie di procedure per configurare e utilizzare il Device Farm Gradle Plugin.
Argomenti
Dipendenze
Runtime
-
Il Device Farm Gradle Plugin richiede AWS Mobile SDK 1.10.15 o successivo. Per ulteriori informazioni e per installare ilSDK, consulta Mobile. AWS SDK
-
Android Tools Builder Test API 0.5.2
-
Apache Commons Lang3 3.3.4
Per unit test
-
Testng 6.8.8
-
Jmockit 1.19
-
Android Gradle Tools 1.3.0
Passaggio 1: creazione del plug-in AWS Device Farm Gradle
Questo plugin fornisce l'integrazione di AWS Device Farm con il sistema di build Gradle in Android Studio. Per ulteriori informazioni, consulta Gradle
Nota
La creazione del plugin è facoltativa. Il plugin viene pubblicato tramite Maven Central. Se desideri consentire a Gradle di scaricare direttamente il plugin, salta questa fase e passa a Passaggio 2: configurazione del plug-in AWS Device Farm Gradle.
Per creare il plugin
Vai al GitHub
repository e clona. Creare il plugin usando
gradle install
.Il plugin viene installato sull'archivio Maven locale.
Fase successiva: Passaggio 2: configurazione del plug-in AWS Device Farm Gradle
Passaggio 2: configurazione del plug-in AWS Device Farm Gradle
Se non lo hai già fatto, clona l'archivio e installa il plugin usando la procedura indicata qui: Creazione del plugin Device Farm Gradle.
Per configurare il plugin AWS Device Farm Gradle
-
Aggiungere l'artefatto del plugin al proprio elenco di dipendenze in
build.gradle
.buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.0' } }
-
Configurare il plugin nel proprio file
build.gradle
. La seguente configurazione della specifica di test deve fungere da guida: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. Set to "off" if you want to disable device performance monitoring during a run. Default is "on" // performanceMonitoring "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") } }
-
Esegui il test di Device Farm utilizzando la seguente attività:
gradle devicefarmUpload
.L'output della build stamperà un collegamento alla console Device Farm dove è possibile monitorare l'esecuzione del test.
Fase successiva: Generazione di un IAM utente nel plugin Device Farm Gradle
Passaggio 3: generazione di un IAM utente nel plug-in Device Farm Gradle
AWS Identity and Access Management (IAM) ti aiuta a gestire le autorizzazioni e le politiche per l'utilizzo delle risorse. AWS Questo argomento illustra come generare un IAM utente con le autorizzazioni per accedere alle risorse di AWS Device Farm.
Se non l'hai già fatto, completa i passaggi 1 e 2 prima di generare un IAM utente.
Si consiglia di non utilizzare l'account AWS root per accedere a Device Farm. Invece, crea un nuovo IAM utente (o usa un IAM utente esistente) nel tuo AWS account, quindi accedi a Device Farm con quell'IAMutente.
Nota
L'account o IAM l'utente AWS root che utilizzi per completare i seguenti passaggi deve disporre dell'autorizzazione per creare la seguente IAM politica e allegarla all'IAMutente. Per ulteriori informazioni, consulta l'articolo relativo all'utilizzo delle policy.
Per creare un nuovo utente con la politica di accesso appropriata in IAM
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. Scegliere Users (Utenti).
-
Scegliere Create New Users (Crea nuovi utenti).
-
Immettere il nome utente di propria scelta.
Ad esempio
GradleUser
. -
Scegli Create (Crea) .
-
Scegliere Download Credentials (Scarica credenziali) e salvarle in una posizione in cui saranno facilmente recuperabili in seguito.
-
Scegli Chiudi.
-
Selezionare il nome utente nell'elenco.
-
In Permissions (Autorizzazioni), espandere l'intestazione Inline Policies (Policy inline) facendo clic sulla freccia giù a destra.
-
Scegli Fai clic qui dove dice, Non ci sono politiche in linea da mostrare. Per crearne uno, clicca qui.
-
Sulla schermata Set Permissions (Imposta autorizzazioni), selezionare Custom Policy (Personalizza policy).
-
Scegli Seleziona.
-
Assegnare un nome alla policy, ad esempio
AWSDeviceFarmGradlePolicy
. -
Incollare la seguente policy in Policy Document (Documento policy).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
Scegli Apply Policy (Applica policy).
Fase successiva: Configurazione dei tipi di test.
Per ulteriori informazioni, vedere Creazione di un IAM utente (AWS Management Console) oConfigurazione.
Fase 4: Configurazione dei tipi di test
Per impostazione predefinita, il plugin AWS Device Farm Gradle esegue il Strumentazione per Android e AWS Device Farm test. Se desideri eseguire i tuoi test o specificare parametri aggiuntivi, puoi scegliere di configurare un tipo di test. Questo argomento fornisce informazioni su ciascun tipo di test disponibile e su ciò che devi fare in Android Studio per configurarlo per l'uso. Per ulteriori informazioni sui tipi di test disponibili in Device Farm, vedereFramework di test e test integrati in AWS Device Farm.
Se non l'hai già fatto, completa i passaggi da 1 a 3 prima di configurare i tipi di test.
Nota
Se stai utilizzando slot per i dispositivi, la loro funzionalità sarà disabilitata per impostazione predefinita.
Appium
Device Farm fornisce supporto per Appium Java e JUnit TestNG per Android.
Puoi scegliere useTestNG()
o useJUnit()
. JUnit
è l'impostazione predefinita e non deve essere specificata in modo esplicito.
appium { tests file("path to zip file") // required useTestNG() // or useJUnit() }
Incorporato: fuzz
Device Farm offre un tipo di fuzz test integrato, che invia in modo casuale gli eventi dell'interfaccia utente ai dispositivi e quindi riporta i risultati.
fuzz { eventThrottle 50 // optional default eventCount 6000 // optional default randomizerSeed 1234 // optional default blank }
Per ulteriori informazioni, consulta Esecuzione del fuzz test integrato di Device Farm (Android e iOS).
Instrumentation
Device Farm fornisce supporto per la strumentazione (EspressoJUnit, Robotium o qualsiasi test basato sulla strumentazione) per Android. Per ulteriori informazioni, consulta Strumentazione per Android e AWS Device Farm.
Quando si esegue un test di strumentazione in Gradle, Device Farm utilizza il .apk
file generato dalla androidTestdirectory come fonte dei test.
instrumentation { filter "test filter per developer docs" // optional }