Table Of Contents

Feedback

User Guide

First time using the AWS CLI? See the User Guide for help getting started.

[ aws . devicefarm ]

schedule-run

Description

Schedules a run.

See also: AWS API Documentation

See 'aws help' for descriptions of global parameters.

Synopsis

  schedule-run
--project-arn <value>
[--app-arn <value>]
[--device-pool-arn <value>]
[--device-selection-configuration <value>]
[--name <value>]
--test <value>
[--configuration <value>]
[--execution-configuration <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]

Options

--project-arn (string)

The ARN of the project for the run to be scheduled.

--app-arn (string)

The ARN of the app to schedule a run.

--device-pool-arn (string)

The ARN of the device pool for the run to be scheduled.

Either ** devicePoolArn ** or ** deviceSelectionConfiguration ** are required in a request.

--device-selection-configuration (structure)

The filter criteria used to dynamically select a set of devices for a test run, as well as the maximum number of devices to be included in the run.

Either ** devicePoolArn ** or ** deviceSelectionConfiguration ** are required in a request.

JSON Syntax:

{
  "filters": [
    {
      "attribute": "ARN"|"PLATFORM"|"OS_VERSION"|"MODEL"|"AVAILABILITY"|"FORM_FACTOR"|"MANUFACTURER"|"REMOTE_ACCESS_ENABLED"|"REMOTE_DEBUG_ENABLED"|"INSTANCE_ARN"|"INSTANCE_LABELS"|"FLEET_TYPE",
      "operator": "EQUALS"|"LESS_THAN"|"LESS_THAN_OR_EQUALS"|"GREATER_THAN"|"GREATER_THAN_OR_EQUALS"|"IN"|"NOT_IN"|"CONTAINS",
      "values": ["string", ...]
    }
    ...
  ],
  "maxDevices": integer
}

--name (string)

The name for the run to be scheduled.

--test (structure)

Information about the test for the run to be scheduled.

Shorthand Syntax:

type=string,testPackageArn=string,testSpecArn=string,filter=string,parameters={KeyName1=string,KeyName2=string}

JSON Syntax:

{
  "type": "BUILTIN_FUZZ"|"BUILTIN_EXPLORER"|"WEB_PERFORMANCE_PROFILE"|"APPIUM_JAVA_JUNIT"|"APPIUM_JAVA_TESTNG"|"APPIUM_PYTHON"|"APPIUM_WEB_JAVA_JUNIT"|"APPIUM_WEB_JAVA_TESTNG"|"APPIUM_WEB_PYTHON"|"CALABASH"|"INSTRUMENTATION"|"UIAUTOMATION"|"UIAUTOMATOR"|"XCTEST"|"XCTEST_UI"|"REMOTE_ACCESS_RECORD"|"REMOTE_ACCESS_REPLAY",
  "testPackageArn": "string",
  "testSpecArn": "string",
  "filter": "string",
  "parameters": {"string": "string"
    ...}
}

--configuration (structure)

Information about the settings for the run to be scheduled.

Shorthand Syntax:

extraDataPackageArn=string,networkProfileArn=string,locale=string,location={latitude=double,longitude=double},vpceConfigurationArns=string,string,customerArtifactPaths={iosPaths=[string,string],androidPaths=[string,string],deviceHostPaths=[string,string]},radios={wifi=boolean,bluetooth=boolean,nfc=boolean,gps=boolean},auxiliaryApps=string,string,billingMethod=string

JSON Syntax:

{
  "extraDataPackageArn": "string",
  "networkProfileArn": "string",
  "locale": "string",
  "location": {
    "latitude": double,
    "longitude": double
  },
  "vpceConfigurationArns": ["string", ...],
  "customerArtifactPaths": {
    "iosPaths": ["string", ...],
    "androidPaths": ["string", ...],
    "deviceHostPaths": ["string", ...]
  },
  "radios": {
    "wifi": true|false,
    "bluetooth": true|false,
    "nfc": true|false,
    "gps": true|false
  },
  "auxiliaryApps": ["string", ...],
  "billingMethod": "METERED"|"UNMETERED"
}

--execution-configuration (structure)

Specifies configuration information about a test run, such as the execution timeout (in minutes).

Shorthand Syntax:

jobTimeoutMinutes=integer,accountsCleanup=boolean,appPackagesCleanup=boolean,videoCapture=boolean,skipAppResign=boolean

JSON Syntax:

{
  "jobTimeoutMinutes": integer,
  "accountsCleanup": true|false,
  "appPackagesCleanup": true|false,
  "videoCapture": true|false,
  "skipAppResign": true|false
}

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See 'aws help' for descriptions of global parameters.

Output

run -> (structure)

Information about the scheduled run.

arn -> (string)

The run's ARN.

name -> (string)

The run's name.

type -> (string)

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.
  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
  • APPIUM_PYTHON: The Appium Python type.
  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
  • CALABASH: The Calabash type.
  • INSTRUMENTATION: The Instrumentation type.
  • UIAUTOMATION: The uiautomation type.
  • UIAUTOMATOR: The uiautomator type.
  • XCTEST: The XCode test type.
  • XCTEST_UI: The XCode UI test type.

platform -> (string)

The run's platform.

Allowed values include:

  • ANDROID: The Android platform.
  • IOS: The iOS platform.

created -> (timestamp)

When the run was created.

status -> (string)

The run's status.

Allowed values include:

  • PENDING: A pending status.
  • PENDING_CONCURRENCY: A pending concurrency status.
  • PENDING_DEVICE: A pending device status.
  • PROCESSING: A processing status.
  • SCHEDULING: A scheduling status.
  • PREPARING: A preparing status.
  • RUNNING: A running status.
  • COMPLETED: A completed status.
  • STOPPING: A stopping status.

result -> (string)

The run's result.

Allowed values include:

  • PENDING: A pending condition.
  • PASSED: A passing condition.
  • WARNED: A warning condition.
  • FAILED: A failed condition.
  • SKIPPED: A skipped condition.
  • ERRORED: An error condition.
  • STOPPED: A stopped condition.

started -> (timestamp)

The run's start time.

stopped -> (timestamp)

The run's stop time.

counters -> (structure)

The run's result counters.

total -> (integer)

The total number of entities.

passed -> (integer)

The number of passed entities.

failed -> (integer)

The number of failed entities.

warned -> (integer)

The number of warned entities.

errored -> (integer)

The number of errored entities.

stopped -> (integer)

The number of stopped entities.

skipped -> (integer)

The number of skipped entities.

message -> (string)

A message about the run's result.

totalJobs -> (integer)

The total number of jobs for the run.

completedJobs -> (integer)

The total number of completed jobs.

billingMethod -> (string)

Specifies the billing method for a test run: metered or unmetered . If the parameter is not specified, the default value is metered .

deviceMinutes -> (structure)

Represents the total (metered or unmetered) minutes used by the test run.

total -> (double)

When specified, represents the total minutes used by the resource to run tests.

metered -> (double)

When specified, represents only the sum of metered minutes used by the resource to run tests.

unmetered -> (double)

When specified, represents only the sum of unmetered minutes used by the resource to run tests.

networkProfile -> (structure)

The network profile being used for a test run.

arn -> (string)

The Amazon Resource Name (ARN) of the network profile.

name -> (string)

The name of the network profile.

description -> (string)

The description of the network profile.

type -> (string)

The type of network profile. Valid values are listed below.

uplinkBandwidthBits -> (long)

The data throughput rate in bits per second, as an integer from 0 to 104857600.

downlinkBandwidthBits -> (long)

The data throughput rate in bits per second, as an integer from 0 to 104857600.

uplinkDelayMs -> (long)

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

downlinkDelayMs -> (long)

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

uplinkJitterMs -> (long)

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

downlinkJitterMs -> (long)

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

uplinkLossPercent -> (integer)

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

downlinkLossPercent -> (integer)

Proportion of received packets that fail to arrive from 0 to 100 percent.

parsingResultUrl -> (string)

Read-only URL for an object in S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.

resultCode -> (string)

Supporting field for the result field. Set only if result is SKIPPED . PARSING_FAILED if the result is skipped because of test package parsing failure.

seed -> (integer)

For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

appUpload -> (string)

An app to upload or that has been uploaded.

eventCount -> (integer)

For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz test should perform.

jobTimeoutMinutes -> (integer)

The number of minutes the job will execute before it times out.

devicePoolArn -> (string)

The ARN of the device pool for the run.

locale -> (string)

Information about the locale that is used for the run.

radios -> (structure)

Information about the radio states for the run.

wifi -> (boolean)

True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

bluetooth -> (boolean)

True if Bluetooth is enabled at the beginning of the test; otherwise, false.

nfc -> (boolean)

True if NFC is enabled at the beginning of the test; otherwise, false.

gps -> (boolean)

True if GPS is enabled at the beginning of the test; otherwise, false.

location -> (structure)

Information about the location that is used for the run.

latitude -> (double)

The latitude.

longitude -> (double)

The longitude.

customerArtifactPaths -> (structure)

Output CustomerArtifactPaths object for the test run.

iosPaths -> (list)

Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests will be pulled from.

(string)

androidPaths -> (list)

Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests will be pulled from.

(string)

deviceHostPaths -> (list)

Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.

(string)

webUrl -> (string)

The Device Farm console URL for the recording of the run.

skipAppResign -> (boolean)

When set to true , for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs .

testSpecArn -> (string)

The ARN of the YAML-formatted test specification for the run.

deviceSelectionResult -> (structure)

The results of a device filter used to select the devices for a test run.

filters -> (list)

The filters in a device selection result.

(structure)

Represents a device filter used to select a set of devices to be included in a test run. This data structure is passed in as the "deviceSelectionConfiguration" parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun .

It is also passed in as the "filters" parameter to ListDevices. For an example of the JSON request syntax, see ListDevices .

attribute -> (string)

The aspect of a device such as platform or model used as the selection criteria in a device filter.

Allowed values include:

  • ARN: The Amazon Resource Name (ARN) of the device. For example, "arn:aws:devicefarm:us-west-2::device:12345Example".
  • PLATFORM: The device platform. Valid values are "ANDROID" or "IOS".
  • OS_VERSION: The operating system version. For example, "10.3.2".
  • MODEL: The device model. For example, "iPad 5th Gen".
  • AVAILABILITY: The current availability of the device. Valid values are "AVAILABLE", "HIGHLY_AVAILABLE", "BUSY", or "TEMPORARY_NOT_AVAILABLE".
  • FORM_FACTOR: The device form factor. Valid values are "PHONE" or "TABLET".
  • MANUFACTURER: The device manufacturer. For example, "Apple".
  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.
  • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging.
  • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.
  • INSTANCE_LABELS: The label of the device instance.
  • FLEET_TYPE: The fleet type. Valid values are "PUBLIC" or "PRIVATE".

operator -> (string)

The filter operator.

  • The EQUALS operator is available for every attribute except INSTANCE_LABELS.
  • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.
  • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.
  • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

values -> (list)

An array of one or more filter values used in a device filter.

Operator Values
  • The IN and NOT operators can take a values array that has more than one element.
  • The other operators require an array with a single element.
Attribute Values
  • The PLATFORM attribute can be set to "ANDROID" or "IOS".
  • The AVAILABILITY attribute can be set to "AVAILABLE", "HIGHLY_AVAILABLE", "BUSY", or "TEMPORARY_NOT_AVAILABLE".
  • The FORM_FACTOR attribute can be set to "PHONE" or "TABLET".
  • The FLEET_TYPE attribute can be set to "PUBLIC" or "PRIVATE".

(string)

matchedDevicesCount -> (integer)

The number of devices that matched the device filter selection criteria.

maxDevices -> (integer)

The maximum number of devices to be selected by a device filter and included in a test run.