Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integración de Device Farm con un sistema de compilación de Gradle
El complemento Device Farm para Gradle proporciona la integración de AWS Device Farm con el sistema de compilación de Gradle en Android Studio. Para obtener más información, consulte Gradle
nota
Para descargar el complemento de Gradle, ve a GitHub
El complemento Gradle de Device Farm proporciona funcionalidad de Device Farm desde su entorno de Android Studio. Puede iniciar pruebas en teléfonos y tabletas Android reales alojados en Device Farm.
Esta sección contiene una serie de procedimientos para configurar y utilizar el complemento Gradle de Device Farm.
Temas
Dependencias
Tiempo de ejecución
-
El complemento Device Farm para Gradle requiere la AWS versión Mobile SDK 1.10.15 o posterior. Para obtener más información e instalar elSDK, consulte Mobile. AWS SDK
-
Android tools builder test api 0.5.2
-
Apache Commons Lang3 3.3.4
Para pruebas unitarias
-
Testng 6.8.8
-
Jmockit 1.19
-
Android gradle tools 1.3.0
Paso 1: Crear el complemento AWS Device Farm para Gradle
Este complemento proporciona la integración de AWS Device Farm con el sistema de compilación de Gradle en Android Studio. Para obtener más información, consulte Gradle
nota
La creación del complemento es opcional. El complemento se publica a través de Maven Central. Si desea permitir que Gradle descargue el complemento directamente, omita este paso y vaya a Paso 2: Configurar el complemento AWS Device Farm Gradle.
Para crear el complemento
Ve al repositorio GitHub
y clónalo. Cree el complemento mediante
gradle install
.El complemento se instala en el repositorio de Maven local.
Paso siguiente: Paso 2: Configurar el complemento AWS Device Farm Gradle
Paso 2: Configurar el complemento AWS Device Farm Gradle
Si aún no lo ha hecho, clone el repositorio e instale el complemento mediante el siguiente procedimiento: Creación del complemento Gradle de Device Farm.
Para configurar el complemento AWS Device Farm para Gradle
-
Añada el elemento del complemento a la lista de dependencia en
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' } }
-
Configure el complemento en el archivo
build.gradle
. La siguiente configuración específica de pruebas debería servirle como guía: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") } }
-
Ejecute su prueba de Device Farm mediante la siguiente tarea:
gradle devicefarmUpload
.La salida de compilación mostrará un enlace en la consola de Device Farm donde puede monitorizar la ejecución de las pruebas.
Paso siguiente: Generación de un IAM usuario en el complemento Device Farm para Gradle
Paso 3: Generar un IAM usuario en el complemento Device Farm para Gradle
AWS Identity and Access Management (IAM) le ayuda a administrar los permisos y las políticas para trabajar con AWS los recursos. En este tema se explica cómo generar un IAM usuario con permisos para acceder a los recursos de AWS Device Farm.
Si aún no lo ha hecho, complete los pasos 1 y 2 antes de generar un IAM usuario.
Le recomendamos que no utilice su cuenta AWS root para acceder a Device Farm. En su lugar, cree un nuevo IAM usuario (o utilice un IAM usuario existente) en su AWS cuenta y, a continuación, acceda a Device Farm con ese IAM usuario.
nota
La cuenta AWS raíz o el IAM usuario que utilice para completar los siguientes pasos debe tener permiso para crear la siguiente IAM política y asociarla al IAM usuario. Para obtener más información, consulte Administración de políticas de IAM.
Para crear un usuario nuevo con la política de acceso adecuada en IAM
Abra la IAM consola en https://console.aws.amazon.com/iam/
. Seleccione Usuarios.
-
Seleccione Crear nuevos usuarios.
-
Introduzca el nombre de usuario de su elección.
Por ejemplo,
GradleUser
. -
Seleccione Crear.
-
Seleccione Descargar credenciales y guárdelas en una ubicación donde pueda recuperarlas fácilmente más adelante.
-
Elija Close.
-
Elija el nombre de usuario en la lista.
-
En Permisos, expanda el encabezado Políticas insertadas haciendo clic en la flecha hacia abajo situada a la derecha.
-
Seleccione Haga clic aquí donde dice No hay políticas insertadas que mostrar. Para crear una, haga clic aquí.
-
En la pantalla Establecer permisos, seleccione Política personalizada.
-
Elija Seleccionar.
-
Especifique un nombre para la política, como
AWSDeviceFarmGradlePolicy
. -
En Documento de política, pegue la siguiente política.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
Seleccione Apply Policy.
Paso siguiente: Configurar los tipos de prueba.
Para obtener más información, consulte Creación de un IAM usuario (AWS Management Console) oConfiguración.
Paso 4: Configurar los tipos de prueba
De forma predeterminada, el complemento AWS Device Farm para Gradle ejecuta la Instrumentación para Android y AWS Device Farm prueba. Si desea ejecutar sus propias pruebas o especificar parámetros adicionales, puede elegir configurar un tipo de la prueba. En este tema se ofrece información sobre cada tipo de prueba disponible y qué se debe hacer en Android Studio con el fin de configurarlo para su uso. Para obtener más información acerca de los tipos de pruebas disponibles en Device Farm, consulte Marcos de pruebas y pruebas integradas en AWS Device Farm.
Si aún no lo ha hecho, complete los pasos 1 y 3 antes de configurar los tipos de pruebas.
nota
Si utiliza ranuras de dispositivos, la característica de ranuras de dispositivos está deshabilitada de forma predeterminada.
Appium
Device Farm ofrece soporte para Appium Java y JUnit TestNG para Android.
Puede elegir useTestNG()
o useJUnit()
. JUnit
es el valor predeterminado y no es preciso especificarlo de forma explícita.
appium { tests file("path to zip file") // required useTestNG() // or useJUnit() }
Integrado: fuzzing
Device Farm proporciona un tipo de prueba de difusión integrada, que envía de forma aleatoria eventos de interfaz de usuario a los dispositivos y, a continuación, crea un informe con los resultados.
fuzz { eventThrottle 50 // optional default eventCount 6000 // optional default randomizerSeed 1234 // optional default blank }
Para obtener más información, consulte Ejecutar la prueba de fuzz integrada de Device Farm (Android e iOS).
Instrumentación
Device Farm ofrece soporte para instrumentación (EspressoJUnit, Robotium o cualquier prueba basada en instrumentación) para Android. Para obtener más información, consulte Instrumentación para Android y AWS Device Farm.
Al ejecutar una prueba de instrumentación en Gradle, Device Farm utiliza el .apk
archivo generado en tu androidTestdirectorio como fuente de las pruebas.
instrumentation { filter "test filter per developer docs" // optional }