Ejemplos de Device Farm que utilizan la AWS CLI - AWS Command Line Interface

Ejemplos de Device Farm que utilizan la AWS CLI

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Device Farm.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar create-device-pool.

AWS CLI

Creación de un grupo de dispositivos

El siguiente comando crea un grupo de dispositivos Android para un proyecto:

aws devicefarm create-device-pool --name pool1 --rules file://device-pool-rules.json --project-arn "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506"

Puede obtener el ARN del proyecto a partir de la salida de create-project o list-projects. El archivo device-pool-rules.json es un documento JSON en la carpeta actual que especifica la plataforma del dispositivo:

[ { "attribute": "PLATFORM", "operator": "EQUALS", "value": "\"ANDROID\"" } ]

Salida:

{ "devicePool": { "rules": [ { "operator": "EQUALS", "attribute": "PLATFORM", "value": "\"ANDROID\"" } ], "type": "PRIVATE", "name": "pool1", "arn": "arn:aws:devicefarm:us-west-2:123456789012:devicepool:070fc3ca-7ec1-4741-9c1f-d3e044efc506/2aa8d2a9-5e73-47ca-b929-659cb34b7dcd" } }
  • Para obtener detalles sobre la API, consulte CreateDevicePool en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-project.

AWS CLI

Creación de un proyecto

El comando siguiente crea un nuevo proyecto llamado my-project:

aws devicefarm create-project --name my-project

Salida:

{ "project": { "name": "myproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506", "created": 1503612890.057 } }
  • Para obtener información sobre la API, consulte CreateProject en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-upload.

AWS CLI

Creación de una carga

El siguiente comando crea una carga para una aplicación de Android:

aws devicefarm create-upload --project-arn "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506" --name app.apk --type ANDROID_APP

Puede obtener el ARN del proyecto a partir de la salida de create-project o list-projects.

Salida:

{ "upload": { "status": "INITIALIZED", "name": "app.apk", "created": 1503614408.769, "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aproject%3A070fc3ca-c7e1-4471-91cf-d3e4efc50604/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aupload%3A070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514/app.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170824T224008Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAEXAMPLEPBUMBC3GA%2F20170824%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=05050370c38894ef5bd09f5d009f36fc8f96fa4bb04e1bba9aca71b8dbe49a0f", "type": "ANDROID_APP", "arn": "arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514" } }

Utilizar la URL firmada en la salida para subir un archivo a Device Farm:

curl -T app.apk "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aproject%3A070fc3ca-c7e1-4471-91cf-d3e4efc50604/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aupload%3A070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514/app.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170824T224008Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAEXAMPLEPBUMBC3GA%2F20170824%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=05050370c38894ef5bd09f5d009f36fc8f96fa4bb04e1bba9aca71b8dbe49a0f"
  • Para obtener detalles sobre la API, consulte CreateUpload en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-upload.

AWS CLI

Visualización de una carga

El siguiente comando recupera información sobre una carga:

aws devicefarm get-upload --arn "arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514"

Puede obtener el ARN de carga de la salida de create-upload.

Salida:

{ "upload": { "status": "SUCCEEDED", "name": "app.apk", "created": 1505262773.186, "type": "ANDROID_APP", "arn": "arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514", "metadata": "{\"device_admin\":false,\"activity_name\":\"ccom.example.client.LauncherActivity\",\"version_name\":\"1.0.2.94\",\"screens\":[\"small\",\"normal\",\"large\",\"xlarge\"],\"error_type\":null,\"sdk_version\":\"16\",\"package_name\":\"com.example.client\",\"version_code\":\"20994\",\"native_code\":[\"armeabi-v7a\"],\"target_sdk_version\":\"25\"}" } }
  • Para obtener detalles sobre la API, consulte GetUpload en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-projects.

AWS CLI

Para enumerar proyectos

A continuación, se recupera una lista de proyectos:

aws devicefarm list-projects

Salida:

{ "projects": [ { "name": "myproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506", "created": 1503612890.057 }, { "name": "otherproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:a5f5b752-8098-49d1-86bf-5f7682c1c77e", "created": 1505257519.337 } ] }
  • Para obtener detalles sobre la API, consulte ListProjects en la Referencia de comandos de la AWS CLI.