2022/09/22 - AWS Device Farm - 12 updated api methods
Changes This release adds the support for VPC-ENI based connectivity for private devices on AWS Device Farm.
{'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}Response
{'project': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Creates a project.
See also: AWS API Documentation
Request Syntax
client.create_project( name='string', defaultJobTimeoutMinutes=123, vpcConfig={ 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } )
string
[REQUIRED]
The project's name.
integer
Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run.
dict
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) -- [REQUIRED]
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) -- [REQUIRED]
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) -- [REQUIRED]
The ID of the Amazon VPC.
dict
Response Syntax
{ 'project': { 'arn': 'string', 'name': 'string', 'defaultJobTimeoutMinutes': 123, 'created': datetime(2015, 1, 1), 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the result of a create project request.
project (dict) --
The newly created project.
arn (string) --
The project's ARN.
name (string) --
The project's name.
defaultJobTimeoutMinutes (integer) --
The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.
created (datetime) --
When the project was created.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'remoteAccessSession': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Specifies and starts a remote access session.
See also: AWS API Documentation
Request Syntax
client.create_remote_access_session( projectArn='string', deviceArn='string', instanceArn='string', sshPublicKey='string', remoteDebugEnabled=True|False, remoteRecordEnabled=True|False, remoteRecordAppArn='string', name='string', clientId='string', configuration={ 'billingMethod': 'METERED'|'UNMETERED', 'vpceConfigurationArns': [ 'string', ] }, interactionMode='INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', skipAppResign=True|False )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.
string
[REQUIRED]
The ARN of the device for which you want to create a remote access session.
string
The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.
string
Ignored. The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if remoteDebugEnabled is set to true .
Remote debugging is no longer supported .
boolean
Set to true if you want to access devices remotely for debugging in your remote access session.
Remote debugging is no longer supported .
boolean
Set to true to enable remote recording for the remote access session.
string
The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.
string
The name of the remote access session to create.
string
Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession . This identifier is required only if remoteDebugEnabled is set to true .
Remote debugging is no longer supported .
dict
The configuration information for the remote access session request.
billingMethod (string) --
The billing method for the remote access session.
vpceConfigurationArns (list) --
An array of ARNs included in the VPC endpoint configuration.
(string) --
string
The interaction mode of the remote access session. Valid values are:
INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.
NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
boolean
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?
dict
Response Syntax
{ 'remoteAccessSession': { 'arn': 'string', 'name': 'string', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'message': 'string', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'device': { 'arn': 'string', 'name': 'string', 'manufacturer': 'string', 'model': 'string', 'modelId': 'string', 'formFactor': 'PHONE'|'TABLET', 'platform': 'ANDROID'|'IOS', 'os': 'string', 'cpu': { 'frequency': 'string', 'architecture': 'string', 'clock': 123.0 }, 'resolution': { 'width': 123, 'height': 123 }, 'heapSize': 123, 'memory': 123, 'image': 'string', 'carrier': 'string', 'radio': 'string', 'remoteAccessEnabled': True|False, 'remoteDebugEnabled': True|False, 'fleetType': 'string', 'fleetName': 'string', 'instances': [ { 'arn': 'string', 'deviceArn': 'string', 'labels': [ 'string', ], 'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE', 'udid': 'string', 'instanceProfile': { 'arn': 'string', 'packageCleanup': True|False, 'excludeAppPackagesFromCleanup': [ 'string', ], 'rebootAfterUse': True|False, 'name': 'string', 'description': 'string' } }, ], 'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE' }, 'instanceArn': 'string', 'remoteDebugEnabled': True|False, 'remoteRecordEnabled': True|False, 'remoteRecordAppArn': 'string', 'hostAddress': 'string', 'clientId': 'string', 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'endpoint': 'string', 'deviceUdid': 'string', 'interactionMode': 'INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', 'skipAppResign': True|False, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the server response from a request to create a remote access session.
remoteAccessSession (dict) --
A container that describes the remote access session when the request to create a remote access session is sent.
arn (string) --
The Amazon Resource Name (ARN) of the remote access session.
name (string) --
The name of the remote access session.
created (datetime) --
The date and time the remote access session was created.
status (string) --
The status of the remote access session. Can be any of the following:
PENDING.
PENDING_CONCURRENCY.
PENDING_DEVICE.
PROCESSING.
SCHEDULING.
PREPARING.
RUNNING.
COMPLETED.
STOPPING.
result (string) --
The result of the remote access session. Can be any of the following:
PENDING.
PASSED.
WARNED.
FAILED.
SKIPPED.
ERRORED.
STOPPED.
message (string) --
A message about the remote access session.
started (datetime) --
The date and time the remote access session was started.
stopped (datetime) --
The date and time the remote access session was stopped.
device (dict) --
The device (phone or tablet) used in the remote access session.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
PHONE
TABLET
platform (string) --
The device's platform.
Allowed values include:
ANDROID
IOS
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the device.
Remote debugging is no longer supported .
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
(string) --
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true , Device Farm removes app packages after a test run. The default value is false for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup to true .
(string) --
rebootAfterUse (boolean) --
When set to true , Device Farm reboots the instance after a test run. The default value is true .
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
instanceArn (string) --
The ARN of the instance.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
remoteRecordEnabled (boolean) --
This flag is set to true if remote recording is enabled for the remote access session.
remoteRecordAppArn (string) --
The ARN for the app to be recorded in the remote access session.
hostAddress (string) --
IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
clientId (string) --
Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
billingMethod (string) --
The billing method of the remote access session. Possible values include METERED or UNMETERED . For more information about metered devices, see AWS Device Farm terminology .
deviceMinutes (dict) --
The number of minutes a device is used in a remote access session (including setup and teardown minutes).
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
endpoint (string) --
The endpoint for the remote access sesssion.
deviceUdid (string) --
Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
interactionMode (string) --
The interaction mode of the remote access session. Valid values are:
INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.
NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
skipAppResign (boolean) --
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs .
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'project': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Gets information about a project.
See also: AWS API Documentation
Request Syntax
client.get_project( arn='string' )
string
[REQUIRED]
The project's ARN.
dict
Response Syntax
{ 'project': { 'arn': 'string', 'name': 'string', 'defaultJobTimeoutMinutes': 123, 'created': datetime(2015, 1, 1), 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the result of a get project request.
project (dict) --
The project to get information about.
arn (string) --
The project's ARN.
name (string) --
The project's name.
defaultJobTimeoutMinutes (integer) --
The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.
created (datetime) --
When the project was created.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'remoteAccessSession': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Returns a link to a currently running remote access session.
See also: AWS API Documentation
Request Syntax
client.get_remote_access_session( arn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the remote access session about which you want to get session information.
dict
Response Syntax
{ 'remoteAccessSession': { 'arn': 'string', 'name': 'string', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'message': 'string', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'device': { 'arn': 'string', 'name': 'string', 'manufacturer': 'string', 'model': 'string', 'modelId': 'string', 'formFactor': 'PHONE'|'TABLET', 'platform': 'ANDROID'|'IOS', 'os': 'string', 'cpu': { 'frequency': 'string', 'architecture': 'string', 'clock': 123.0 }, 'resolution': { 'width': 123, 'height': 123 }, 'heapSize': 123, 'memory': 123, 'image': 'string', 'carrier': 'string', 'radio': 'string', 'remoteAccessEnabled': True|False, 'remoteDebugEnabled': True|False, 'fleetType': 'string', 'fleetName': 'string', 'instances': [ { 'arn': 'string', 'deviceArn': 'string', 'labels': [ 'string', ], 'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE', 'udid': 'string', 'instanceProfile': { 'arn': 'string', 'packageCleanup': True|False, 'excludeAppPackagesFromCleanup': [ 'string', ], 'rebootAfterUse': True|False, 'name': 'string', 'description': 'string' } }, ], 'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE' }, 'instanceArn': 'string', 'remoteDebugEnabled': True|False, 'remoteRecordEnabled': True|False, 'remoteRecordAppArn': 'string', 'hostAddress': 'string', 'clientId': 'string', 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'endpoint': 'string', 'deviceUdid': 'string', 'interactionMode': 'INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', 'skipAppResign': True|False, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the response from the server that lists detailed information about the remote access session.
remoteAccessSession (dict) --
A container that lists detailed information about the remote access session.
arn (string) --
The Amazon Resource Name (ARN) of the remote access session.
name (string) --
The name of the remote access session.
created (datetime) --
The date and time the remote access session was created.
status (string) --
The status of the remote access session. Can be any of the following:
PENDING.
PENDING_CONCURRENCY.
PENDING_DEVICE.
PROCESSING.
SCHEDULING.
PREPARING.
RUNNING.
COMPLETED.
STOPPING.
result (string) --
The result of the remote access session. Can be any of the following:
PENDING.
PASSED.
WARNED.
FAILED.
SKIPPED.
ERRORED.
STOPPED.
message (string) --
A message about the remote access session.
started (datetime) --
The date and time the remote access session was started.
stopped (datetime) --
The date and time the remote access session was stopped.
device (dict) --
The device (phone or tablet) used in the remote access session.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
PHONE
TABLET
platform (string) --
The device's platform.
Allowed values include:
ANDROID
IOS
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the device.
Remote debugging is no longer supported .
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
(string) --
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true , Device Farm removes app packages after a test run. The default value is false for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup to true .
(string) --
rebootAfterUse (boolean) --
When set to true , Device Farm reboots the instance after a test run. The default value is true .
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
instanceArn (string) --
The ARN of the instance.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
remoteRecordEnabled (boolean) --
This flag is set to true if remote recording is enabled for the remote access session.
remoteRecordAppArn (string) --
The ARN for the app to be recorded in the remote access session.
hostAddress (string) --
IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
clientId (string) --
Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
billingMethod (string) --
The billing method of the remote access session. Possible values include METERED or UNMETERED . For more information about metered devices, see AWS Device Farm terminology .
deviceMinutes (dict) --
The number of minutes a device is used in a remote access session (including setup and teardown minutes).
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
endpoint (string) --
The endpoint for the remote access sesssion.
deviceUdid (string) --
Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
interactionMode (string) --
The interaction mode of the remote access session. Valid values are:
INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.
NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
skipAppResign (boolean) --
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs .
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'run': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Gets information about a run.
See also: AWS API Documentation
Request Syntax
client.get_run( arn='string' )
string
[REQUIRED]
The run's ARN.
dict
Response Syntax
{ 'run': { 'arn': 'string', 'name': 'string', 'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY', 'platform': 'ANDROID'|'IOS', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'counters': { 'total': 123, 'passed': 123, 'failed': 123, 'warned': 123, 'errored': 123, 'stopped': 123, 'skipped': 123 }, 'message': 'string', 'totalJobs': 123, 'completedJobs': 123, 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'networkProfile': { 'arn': 'string', 'name': 'string', 'description': 'string', 'type': 'CURATED'|'PRIVATE', 'uplinkBandwidthBits': 123, 'downlinkBandwidthBits': 123, 'uplinkDelayMs': 123, 'downlinkDelayMs': 123, 'uplinkJitterMs': 123, 'downlinkJitterMs': 123, 'uplinkLossPercent': 123, 'downlinkLossPercent': 123 }, 'parsingResultUrl': 'string', 'resultCode': 'PARSING_FAILED'|'VPC_ENDPOINT_SETUP_FAILED', 'seed': 123, 'appUpload': 'string', 'eventCount': 123, 'jobTimeoutMinutes': 123, 'devicePoolArn': 'string', 'locale': 'string', 'radios': { 'wifi': True|False, 'bluetooth': True|False, 'nfc': True|False, 'gps': True|False }, 'location': { 'latitude': 123.0, 'longitude': 123.0 }, 'customerArtifactPaths': { 'iosPaths': [ 'string', ], 'androidPaths': [ 'string', ], 'deviceHostPaths': [ 'string', ] }, 'webUrl': 'string', 'skipAppResign': True|False, 'testSpecArn': 'string', 'deviceSelectionResult': { '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', ] }, ], 'matchedDevicesCount': 123, 'maxDevices': 123 }, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the result of a get run request.
run (dict) --
The run to get results from.
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
BUILTIN_EXPLORER
Note
For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
platform (string) --
The run's platform.
Allowed values include:
ANDROID
IOS
created (datetime) --
When the run was created.
status (string) --
The run's status.
Allowed values include:
PENDING
PENDING_CONCURRENCY
PENDING_DEVICE
PROCESSING
SCHEDULING
PREPARING
RUNNING
COMPLETED
STOPPING
result (string) --
The run's result.
Allowed values include:
PENDING
PASSED
WARNED
FAILED
SKIPPED
ERRORED
STOPPED
started (datetime) --
The run's start time.
stopped (datetime) --
The run's stop time.
counters (dict) --
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 .
Note
If you have unmetered device slots, you must set this to unmetered to use them. Otherwise, the run is counted toward metered device minutes.
deviceMinutes (dict) --
Represents the total (metered or unmetered) minutes used by the test run.
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
networkProfile (dict) --
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 here.
uplinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
downlinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
uplinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
downlinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
uplinkJitterMs (integer) --
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
downlinkJitterMs (integer) --
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 an 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 executes 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 (dict) --
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 (dict) --
Information about the location that is used for the run.
latitude (float) --
The latitude.
longitude (float) --
The longitude.
customerArtifactPaths (dict) --
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 are pulled from.
(string) --
androidPaths (list) --
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
(string) --
deviceHostPaths (list) --
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are 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 does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, 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 (dict) --
The results of a device filter used to select the devices for a test run.
filters (list) --
The filters in a device selection result.
(dict) --
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.
The supported operators for each attribute are provided in the following list.
ARN
The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example ).
Supported operators: EQUALS , IN , NOT_IN
PLATFORM
The device platform. Valid values are ANDROID or IOS.
Supported operators: EQUALS
OS_VERSION
The operating system version (for example, 10.3.2).
Supported operators: EQUALS , GREATER_THAN , GREATER_THAN_OR_EQUALS , IN , LESS_THAN , LESS_THAN_OR_EQUALS , NOT_IN
MODEL
The device model (for example, iPad 5th Gen).
Supported operators: CONTAINS , EQUALS , IN , NOT_IN
AVAILABILITY
The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
Supported operators: EQUALS
FORM_FACTOR
The device form factor. Valid values are PHONE or TABLET.
Supported operators: EQUALS
MANUFACTURER
The device manufacturer (for example, Apple).
Supported operators: EQUALS , IN , NOT_IN
REMOTE_ACCESS_ENABLED
Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
Supported operators: EQUALS
REMOTE_DEBUG_ENABLED
Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.
Supported operators: EQUALS
Because remote debugging is no longer supported , this filter is ignored.
INSTANCE_ARN
The Amazon Resource Name (ARN) of the device instance.
Supported operators: EQUALS , IN , NOT_IN
INSTANCE_LABELS
The label of the device instance.
Supported operators: CONTAINS
FLEET_TYPE
The fleet type. Valid values are PUBLIC or PRIVATE.
Supported operators: EQUALS
operator (string) --
Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.
values (list) --
An array of one or more filter values used in a device filter.
Operator Values
The IN and NOT_IN 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.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'projects': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Gets information about projects.
See also: AWS API Documentation
Request Syntax
client.list_projects( arn='string', nextToken='string' )
string
Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm returns a list of all projects for the AWS account. You can also specify a project ARN.
string
An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
dict
Response Syntax
{ 'projects': [ { 'arn': 'string', 'name': 'string', 'defaultJobTimeoutMinutes': 123, 'created': datetime(2015, 1, 1), 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } }, ], 'nextToken': 'string' }
Response Structure
(dict) --
Represents the result of a list projects request.
projects (list) --
Information about the projects.
(dict) --
Represents an operating-system neutral workspace for running and managing tests.
arn (string) --
The project's ARN.
name (string) --
The project's name.
defaultJobTimeoutMinutes (integer) --
The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.
created (datetime) --
When the project was created.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
nextToken (string) --
If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.
{'remoteAccessSessions': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Returns a list of all currently running remote access sessions.
See also: AWS API Documentation
Request Syntax
client.list_remote_access_sessions( arn='string', nextToken='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the project about which you are requesting information.
string
An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
dict
Response Syntax
{ 'remoteAccessSessions': [ { 'arn': 'string', 'name': 'string', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'message': 'string', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'device': { 'arn': 'string', 'name': 'string', 'manufacturer': 'string', 'model': 'string', 'modelId': 'string', 'formFactor': 'PHONE'|'TABLET', 'platform': 'ANDROID'|'IOS', 'os': 'string', 'cpu': { 'frequency': 'string', 'architecture': 'string', 'clock': 123.0 }, 'resolution': { 'width': 123, 'height': 123 }, 'heapSize': 123, 'memory': 123, 'image': 'string', 'carrier': 'string', 'radio': 'string', 'remoteAccessEnabled': True|False, 'remoteDebugEnabled': True|False, 'fleetType': 'string', 'fleetName': 'string', 'instances': [ { 'arn': 'string', 'deviceArn': 'string', 'labels': [ 'string', ], 'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE', 'udid': 'string', 'instanceProfile': { 'arn': 'string', 'packageCleanup': True|False, 'excludeAppPackagesFromCleanup': [ 'string', ], 'rebootAfterUse': True|False, 'name': 'string', 'description': 'string' } }, ], 'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE' }, 'instanceArn': 'string', 'remoteDebugEnabled': True|False, 'remoteRecordEnabled': True|False, 'remoteRecordAppArn': 'string', 'hostAddress': 'string', 'clientId': 'string', 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'endpoint': 'string', 'deviceUdid': 'string', 'interactionMode': 'INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', 'skipAppResign': True|False, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } }, ], 'nextToken': 'string' }
Response Structure
(dict) --
Represents the response from the server after AWS Device Farm makes a request to return information about the remote access session.
remoteAccessSessions (list) --
A container that represents the metadata from the service about each remote access session you are requesting.
(dict) --
Represents information about the remote access session.
arn (string) --
The Amazon Resource Name (ARN) of the remote access session.
name (string) --
The name of the remote access session.
created (datetime) --
The date and time the remote access session was created.
status (string) --
The status of the remote access session. Can be any of the following:
PENDING.
PENDING_CONCURRENCY.
PENDING_DEVICE.
PROCESSING.
SCHEDULING.
PREPARING.
RUNNING.
COMPLETED.
STOPPING.
result (string) --
The result of the remote access session. Can be any of the following:
PENDING.
PASSED.
WARNED.
FAILED.
SKIPPED.
ERRORED.
STOPPED.
message (string) --
A message about the remote access session.
started (datetime) --
The date and time the remote access session was started.
stopped (datetime) --
The date and time the remote access session was stopped.
device (dict) --
The device (phone or tablet) used in the remote access session.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
PHONE
TABLET
platform (string) --
The device's platform.
Allowed values include:
ANDROID
IOS
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the device.
Remote debugging is no longer supported .
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
(string) --
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true , Device Farm removes app packages after a test run. The default value is false for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup to true .
(string) --
rebootAfterUse (boolean) --
When set to true , Device Farm reboots the instance after a test run. The default value is true .
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
instanceArn (string) --
The ARN of the instance.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
remoteRecordEnabled (boolean) --
This flag is set to true if remote recording is enabled for the remote access session.
remoteRecordAppArn (string) --
The ARN for the app to be recorded in the remote access session.
hostAddress (string) --
IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
clientId (string) --
Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
billingMethod (string) --
The billing method of the remote access session. Possible values include METERED or UNMETERED . For more information about metered devices, see AWS Device Farm terminology .
deviceMinutes (dict) --
The number of minutes a device is used in a remote access session (including setup and teardown minutes).
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
endpoint (string) --
The endpoint for the remote access sesssion.
deviceUdid (string) --
Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
interactionMode (string) --
The interaction mode of the remote access session. Valid values are:
INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.
NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
skipAppResign (boolean) --
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs .
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
nextToken (string) --
An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
{'runs': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Gets information about runs, given an AWS Device Farm project ARN.
See also: AWS API Documentation
Request Syntax
client.list_runs( arn='string', nextToken='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the project for which you want to list runs.
string
An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.
dict
Response Syntax
{ 'runs': [ { 'arn': 'string', 'name': 'string', 'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY', 'platform': 'ANDROID'|'IOS', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'counters': { 'total': 123, 'passed': 123, 'failed': 123, 'warned': 123, 'errored': 123, 'stopped': 123, 'skipped': 123 }, 'message': 'string', 'totalJobs': 123, 'completedJobs': 123, 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'networkProfile': { 'arn': 'string', 'name': 'string', 'description': 'string', 'type': 'CURATED'|'PRIVATE', 'uplinkBandwidthBits': 123, 'downlinkBandwidthBits': 123, 'uplinkDelayMs': 123, 'downlinkDelayMs': 123, 'uplinkJitterMs': 123, 'downlinkJitterMs': 123, 'uplinkLossPercent': 123, 'downlinkLossPercent': 123 }, 'parsingResultUrl': 'string', 'resultCode': 'PARSING_FAILED'|'VPC_ENDPOINT_SETUP_FAILED', 'seed': 123, 'appUpload': 'string', 'eventCount': 123, 'jobTimeoutMinutes': 123, 'devicePoolArn': 'string', 'locale': 'string', 'radios': { 'wifi': True|False, 'bluetooth': True|False, 'nfc': True|False, 'gps': True|False }, 'location': { 'latitude': 123.0, 'longitude': 123.0 }, 'customerArtifactPaths': { 'iosPaths': [ 'string', ], 'androidPaths': [ 'string', ], 'deviceHostPaths': [ 'string', ] }, 'webUrl': 'string', 'skipAppResign': True|False, 'testSpecArn': 'string', 'deviceSelectionResult': { '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', ] }, ], 'matchedDevicesCount': 123, 'maxDevices': 123 }, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } }, ], 'nextToken': 'string' }
Response Structure
(dict) --
Represents the result of a list runs request.
runs (list) --
Information about the runs.
(dict) --
Represents a test run on a set of devices with a given app package, test parameters, and so on.
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
BUILTIN_EXPLORER
Note
For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
platform (string) --
The run's platform.
Allowed values include:
ANDROID
IOS
created (datetime) --
When the run was created.
status (string) --
The run's status.
Allowed values include:
PENDING
PENDING_CONCURRENCY
PENDING_DEVICE
PROCESSING
SCHEDULING
PREPARING
RUNNING
COMPLETED
STOPPING
result (string) --
The run's result.
Allowed values include:
PENDING
PASSED
WARNED
FAILED
SKIPPED
ERRORED
STOPPED
started (datetime) --
The run's start time.
stopped (datetime) --
The run's stop time.
counters (dict) --
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 .
Note
If you have unmetered device slots, you must set this to unmetered to use them. Otherwise, the run is counted toward metered device minutes.
deviceMinutes (dict) --
Represents the total (metered or unmetered) minutes used by the test run.
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
networkProfile (dict) --
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 here.
uplinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
downlinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
uplinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
downlinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
uplinkJitterMs (integer) --
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
downlinkJitterMs (integer) --
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 an 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 executes 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 (dict) --
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 (dict) --
Information about the location that is used for the run.
latitude (float) --
The latitude.
longitude (float) --
The longitude.
customerArtifactPaths (dict) --
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 are pulled from.
(string) --
androidPaths (list) --
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
(string) --
deviceHostPaths (list) --
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are 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 does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, 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 (dict) --
The results of a device filter used to select the devices for a test run.
filters (list) --
The filters in a device selection result.
(dict) --
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.
The supported operators for each attribute are provided in the following list.
ARN
The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example ).
Supported operators: EQUALS , IN , NOT_IN
PLATFORM
The device platform. Valid values are ANDROID or IOS.
Supported operators: EQUALS
OS_VERSION
The operating system version (for example, 10.3.2).
Supported operators: EQUALS , GREATER_THAN , GREATER_THAN_OR_EQUALS , IN , LESS_THAN , LESS_THAN_OR_EQUALS , NOT_IN
MODEL
The device model (for example, iPad 5th Gen).
Supported operators: CONTAINS , EQUALS , IN , NOT_IN
AVAILABILITY
The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
Supported operators: EQUALS
FORM_FACTOR
The device form factor. Valid values are PHONE or TABLET.
Supported operators: EQUALS
MANUFACTURER
The device manufacturer (for example, Apple).
Supported operators: EQUALS , IN , NOT_IN
REMOTE_ACCESS_ENABLED
Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
Supported operators: EQUALS
REMOTE_DEBUG_ENABLED
Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.
Supported operators: EQUALS
Because remote debugging is no longer supported , this filter is ignored.
INSTANCE_ARN
The Amazon Resource Name (ARN) of the device instance.
Supported operators: EQUALS , IN , NOT_IN
INSTANCE_LABELS
The label of the device instance.
Supported operators: CONTAINS
FLEET_TYPE
The fleet type. Valid values are PUBLIC or PRIVATE.
Supported operators: EQUALS
operator (string) --
Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.
values (list) --
An array of one or more filter values used in a device filter.
Operator Values
The IN and NOT_IN 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.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
nextToken (string) --
If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.
{'run': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Schedules a run.
See also: AWS API Documentation
Request Syntax
client.schedule_run( projectArn='string', appArn='string', devicePoolArn='string', deviceSelectionConfiguration={ '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': 123 }, name='string', test={ 'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY', 'testPackageArn': 'string', 'testSpecArn': 'string', 'filter': 'string', 'parameters': { 'string': 'string' } }, configuration={ 'extraDataPackageArn': 'string', 'networkProfileArn': 'string', 'locale': 'string', 'location': { 'latitude': 123.0, 'longitude': 123.0 }, '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' }, executionConfiguration={ 'jobTimeoutMinutes': 123, 'accountsCleanup': True|False, 'appPackagesCleanup': True|False, 'videoCapture': True|False, 'skipAppResign': True|False } )
string
[REQUIRED]
The ARN of the project for the run to be scheduled.
string
The ARN of an application package to run tests against, created with CreateUpload . See ListUploads .
string
The ARN of the device pool for the run to be scheduled.
dict
The filter criteria used to dynamically select a set of devices for a test run and the maximum number of devices to be included in the run.
Either ** devicePoolArn ** or ** deviceSelectionConfiguration ** is required in a request.
filters (list) -- [REQUIRED]
Used to dynamically select a set of devices for a test run. A filter is made up of an attribute, an operator, and one or more values.
Attribute 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. Valid values are TRUE or FALSE.
REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is no longer supported , this filter is ignored.
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 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 An array of one or more filter values. Operator Values
The IN and NOT_IN 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.
(dict) --
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) -- [REQUIRED]
The aspect of a device such as platform or model used as the selection criteria in a device filter.
The supported operators for each attribute are provided in the following list.
ARN
The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example ).
Supported operators: EQUALS , IN , NOT_IN
PLATFORM
The device platform. Valid values are ANDROID or IOS.
Supported operators: EQUALS
OS_VERSION
The operating system version (for example, 10.3.2).
Supported operators: EQUALS , GREATER_THAN , GREATER_THAN_OR_EQUALS , IN , LESS_THAN , LESS_THAN_OR_EQUALS , NOT_IN
MODEL
The device model (for example, iPad 5th Gen).
Supported operators: CONTAINS , EQUALS , IN , NOT_IN
AVAILABILITY
The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
Supported operators: EQUALS
FORM_FACTOR
The device form factor. Valid values are PHONE or TABLET.
Supported operators: EQUALS
MANUFACTURER
The device manufacturer (for example, Apple).
Supported operators: EQUALS , IN , NOT_IN
REMOTE_ACCESS_ENABLED
Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
Supported operators: EQUALS
REMOTE_DEBUG_ENABLED
Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.
Supported operators: EQUALS
Because remote debugging is no longer supported , this filter is ignored.
INSTANCE_ARN
The Amazon Resource Name (ARN) of the device instance.
Supported operators: EQUALS , IN , NOT_IN
INSTANCE_LABELS
The label of the device instance.
Supported operators: CONTAINS
FLEET_TYPE
The fleet type. Valid values are PUBLIC or PRIVATE.
Supported operators: EQUALS
operator (string) -- [REQUIRED]
Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.
values (list) -- [REQUIRED]
An array of one or more filter values used in a device filter.
Operator Values
The IN and NOT_IN 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) --
maxDevices (integer) -- [REQUIRED]
The maximum number of devices to be included in a test run.
string
The name for the run to be scheduled.
dict
[REQUIRED]
Information about the test for the run to be scheduled.
type (string) -- [REQUIRED]
The test's type.
Must be one of the following values:
BUILTIN_FUZZ
BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
testPackageArn (string) --
The ARN of the uploaded test to be run.
testSpecArn (string) --
The ARN of the YAML-formatted test specification.
filter (string) --
The test's filter.
parameters (dict) --
The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.
For all tests:
app_performance_monitoring : Performance monitoring is enabled by default. Set this parameter to false to disable it.
For Calabash tests:
profile: A cucumber profile (for example, my_profile_name ).
tags: You can limit execution to features or scenarios that have (or don't have) certain tags (for example, @smoke or @smoke,~@wip).
For Appium tests (all types):
appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.
latest runs the latest Appium version supported by Device Farm (1.9.1).
For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.
This behavior is subject to change.
For fuzz tests (Android only):
event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.
throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.
seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.
For Explorer tests:
username: A user name to use if the Explorer encounters a login form. If not supplied, no user name is inserted.
password: A password to use if the Explorer encounters a login form. If not supplied, no password is inserted.
For Instrumentation:
filter: A test filter string. Examples:
Running a single test case: com.android.abc.Test1
Running a single test: com.android.abc.Test1#smoke
Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
For XCTest and XCTestUI:
filter: A test filter string. Examples:
Running a single test class: LoginTests
Running a multiple test classes: LoginTests,SmokeTests
Running a single test: LoginTests/testValid
Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
For UIAutomator:
filter: A test filter string. Examples:
Running a single test case: com.android.abc.Test1
Running a single test: com.android.abc.Test1#smoke
Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
(string) --
(string) --
dict
Information about the settings for the run to be scheduled.
extraDataPackageArn (string) --
The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to external data for Android or the app's sandbox for iOS.
networkProfileArn (string) --
Reserved for internal use.
locale (string) --
Information about the locale that is used for the run.
location (dict) --
Information about the location that is used for the run.
latitude (float) -- [REQUIRED]
The latitude.
longitude (float) -- [REQUIRED]
The longitude.
vpceConfigurationArns (list) --
An array of ARNs for your VPC endpoint configurations.
(string) --
customerArtifactPaths (dict) --
Input CustomerArtifactPaths object for the scheduled run configuration.
iosPaths (list) --
Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests are pulled from.
(string) --
androidPaths (list) --
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
(string) --
deviceHostPaths (list) --
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are pulled from.
(string) --
radios (dict) --
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.
auxiliaryApps (list) --
A list of upload ARNs for app packages to be installed with your app.
(string) --
billingMethod (string) --
Specifies the billing method for a test run: metered or unmetered . If the parameter is not specified, the default value is metered .
Note
If you have purchased unmetered device slots, you must set this parameter to unmetered to make use of them. Otherwise, your run counts against your metered time.
dict
Specifies configuration information about a test run, such as the execution timeout (in minutes).
jobTimeoutMinutes (integer) --
The number of minutes a test run executes before it times out.
accountsCleanup (boolean) --
True if account cleanup is enabled at the beginning of the test. Otherwise, false.
appPackagesCleanup (boolean) --
True if app package cleanup is enabled at the beginning of the test. Otherwise, false.
videoCapture (boolean) --
Set to true to enable video capture. Otherwise, set to false. The default is true.
skipAppResign (boolean) --
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs .
dict
Response Syntax
{ 'run': { 'arn': 'string', 'name': 'string', 'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY', 'platform': 'ANDROID'|'IOS', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'counters': { 'total': 123, 'passed': 123, 'failed': 123, 'warned': 123, 'errored': 123, 'stopped': 123, 'skipped': 123 }, 'message': 'string', 'totalJobs': 123, 'completedJobs': 123, 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'networkProfile': { 'arn': 'string', 'name': 'string', 'description': 'string', 'type': 'CURATED'|'PRIVATE', 'uplinkBandwidthBits': 123, 'downlinkBandwidthBits': 123, 'uplinkDelayMs': 123, 'downlinkDelayMs': 123, 'uplinkJitterMs': 123, 'downlinkJitterMs': 123, 'uplinkLossPercent': 123, 'downlinkLossPercent': 123 }, 'parsingResultUrl': 'string', 'resultCode': 'PARSING_FAILED'|'VPC_ENDPOINT_SETUP_FAILED', 'seed': 123, 'appUpload': 'string', 'eventCount': 123, 'jobTimeoutMinutes': 123, 'devicePoolArn': 'string', 'locale': 'string', 'radios': { 'wifi': True|False, 'bluetooth': True|False, 'nfc': True|False, 'gps': True|False }, 'location': { 'latitude': 123.0, 'longitude': 123.0 }, 'customerArtifactPaths': { 'iosPaths': [ 'string', ], 'androidPaths': [ 'string', ], 'deviceHostPaths': [ 'string', ] }, 'webUrl': 'string', 'skipAppResign': True|False, 'testSpecArn': 'string', 'deviceSelectionResult': { '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', ] }, ], 'matchedDevicesCount': 123, 'maxDevices': 123 }, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the result of a schedule run request.
run (dict) --
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
BUILTIN_EXPLORER
Note
For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
platform (string) --
The run's platform.
Allowed values include:
ANDROID
IOS
created (datetime) --
When the run was created.
status (string) --
The run's status.
Allowed values include:
PENDING
PENDING_CONCURRENCY
PENDING_DEVICE
PROCESSING
SCHEDULING
PREPARING
RUNNING
COMPLETED
STOPPING
result (string) --
The run's result.
Allowed values include:
PENDING
PASSED
WARNED
FAILED
SKIPPED
ERRORED
STOPPED
started (datetime) --
The run's start time.
stopped (datetime) --
The run's stop time.
counters (dict) --
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 .
Note
If you have unmetered device slots, you must set this to unmetered to use them. Otherwise, the run is counted toward metered device minutes.
deviceMinutes (dict) --
Represents the total (metered or unmetered) minutes used by the test run.
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
networkProfile (dict) --
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 here.
uplinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
downlinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
uplinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
downlinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
uplinkJitterMs (integer) --
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
downlinkJitterMs (integer) --
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 an 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 executes 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 (dict) --
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 (dict) --
Information about the location that is used for the run.
latitude (float) --
The latitude.
longitude (float) --
The longitude.
customerArtifactPaths (dict) --
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 are pulled from.
(string) --
androidPaths (list) --
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
(string) --
deviceHostPaths (list) --
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are 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 does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, 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 (dict) --
The results of a device filter used to select the devices for a test run.
filters (list) --
The filters in a device selection result.
(dict) --
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.
The supported operators for each attribute are provided in the following list.
ARN
The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example ).
Supported operators: EQUALS , IN , NOT_IN
PLATFORM
The device platform. Valid values are ANDROID or IOS.
Supported operators: EQUALS
OS_VERSION
The operating system version (for example, 10.3.2).
Supported operators: EQUALS , GREATER_THAN , GREATER_THAN_OR_EQUALS , IN , LESS_THAN , LESS_THAN_OR_EQUALS , NOT_IN
MODEL
The device model (for example, iPad 5th Gen).
Supported operators: CONTAINS , EQUALS , IN , NOT_IN
AVAILABILITY
The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
Supported operators: EQUALS
FORM_FACTOR
The device form factor. Valid values are PHONE or TABLET.
Supported operators: EQUALS
MANUFACTURER
The device manufacturer (for example, Apple).
Supported operators: EQUALS , IN , NOT_IN
REMOTE_ACCESS_ENABLED
Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
Supported operators: EQUALS
REMOTE_DEBUG_ENABLED
Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.
Supported operators: EQUALS
Because remote debugging is no longer supported , this filter is ignored.
INSTANCE_ARN
The Amazon Resource Name (ARN) of the device instance.
Supported operators: EQUALS , IN , NOT_IN
INSTANCE_LABELS
The label of the device instance.
Supported operators: CONTAINS
FLEET_TYPE
The fleet type. Valid values are PUBLIC or PRIVATE.
Supported operators: EQUALS
operator (string) --
Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.
values (list) --
An array of one or more filter values used in a device filter.
Operator Values
The IN and NOT_IN 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.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'remoteAccessSession': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Ends a specified remote access session.
See also: AWS API Documentation
Request Syntax
client.stop_remote_access_session( arn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the remote access session to stop.
dict
Response Syntax
{ 'remoteAccessSession': { 'arn': 'string', 'name': 'string', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'message': 'string', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'device': { 'arn': 'string', 'name': 'string', 'manufacturer': 'string', 'model': 'string', 'modelId': 'string', 'formFactor': 'PHONE'|'TABLET', 'platform': 'ANDROID'|'IOS', 'os': 'string', 'cpu': { 'frequency': 'string', 'architecture': 'string', 'clock': 123.0 }, 'resolution': { 'width': 123, 'height': 123 }, 'heapSize': 123, 'memory': 123, 'image': 'string', 'carrier': 'string', 'radio': 'string', 'remoteAccessEnabled': True|False, 'remoteDebugEnabled': True|False, 'fleetType': 'string', 'fleetName': 'string', 'instances': [ { 'arn': 'string', 'deviceArn': 'string', 'labels': [ 'string', ], 'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE', 'udid': 'string', 'instanceProfile': { 'arn': 'string', 'packageCleanup': True|False, 'excludeAppPackagesFromCleanup': [ 'string', ], 'rebootAfterUse': True|False, 'name': 'string', 'description': 'string' } }, ], 'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE' }, 'instanceArn': 'string', 'remoteDebugEnabled': True|False, 'remoteRecordEnabled': True|False, 'remoteRecordAppArn': 'string', 'hostAddress': 'string', 'clientId': 'string', 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'endpoint': 'string', 'deviceUdid': 'string', 'interactionMode': 'INTERACTIVE'|'NO_VIDEO'|'VIDEO_ONLY', 'skipAppResign': True|False, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the response from the server that describes the remote access session when AWS Device Farm stops the session.
remoteAccessSession (dict) --
A container that represents the metadata from the service about the remote access session you are stopping.
arn (string) --
The Amazon Resource Name (ARN) of the remote access session.
name (string) --
The name of the remote access session.
created (datetime) --
The date and time the remote access session was created.
status (string) --
The status of the remote access session. Can be any of the following:
PENDING.
PENDING_CONCURRENCY.
PENDING_DEVICE.
PROCESSING.
SCHEDULING.
PREPARING.
RUNNING.
COMPLETED.
STOPPING.
result (string) --
The result of the remote access session. Can be any of the following:
PENDING.
PASSED.
WARNED.
FAILED.
SKIPPED.
ERRORED.
STOPPED.
message (string) --
A message about the remote access session.
started (datetime) --
The date and time the remote access session was started.
stopped (datetime) --
The date and time the remote access session was stopped.
device (dict) --
The device (phone or tablet) used in the remote access session.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
PHONE
TABLET
platform (string) --
The device's platform.
Allowed values include:
ANDROID
IOS
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the device.
Remote debugging is no longer supported .
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
(string) --
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true , Device Farm removes app packages after a test run. The default value is false for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup to true .
(string) --
rebootAfterUse (boolean) --
When set to true , Device Farm reboots the instance after a test run. The default value is true .
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
instanceArn (string) --
The ARN of the instance.
remoteDebugEnabled (boolean) --
This flag is set to true if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
remoteRecordEnabled (boolean) --
This flag is set to true if remote recording is enabled for the remote access session.
remoteRecordAppArn (string) --
The ARN for the app to be recorded in the remote access session.
hostAddress (string) --
IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
clientId (string) --
Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
billingMethod (string) --
The billing method of the remote access session. Possible values include METERED or UNMETERED . For more information about metered devices, see AWS Device Farm terminology .
deviceMinutes (dict) --
The number of minutes a device is used in a remote access session (including setup and teardown minutes).
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
endpoint (string) --
The endpoint for the remote access sesssion.
deviceUdid (string) --
Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.
Remote debugging is no longer supported .
interactionMode (string) --
The interaction mode of the remote access session. Valid values are:
INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.
NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.
VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.
skipAppResign (boolean) --
When set to true , for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs .
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'run': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Initiates a stop request for the current test run. AWS Device Farm immediately stops the run on devices where tests have not started. You are not billed for these devices. On devices where tests have started executing, setup suite and teardown suite tests run to completion on those devices. You are billed for setup, teardown, and any tests that were in progress or already completed.
See also: AWS API Documentation
Request Syntax
client.stop_run( arn='string' )
string
[REQUIRED]
Represents the Amazon Resource Name (ARN) of the Device Farm run to stop.
dict
Response Syntax
{ 'run': { 'arn': 'string', 'name': 'string', 'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY', 'platform': 'ANDROID'|'IOS', 'created': datetime(2015, 1, 1), 'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING', 'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED', 'started': datetime(2015, 1, 1), 'stopped': datetime(2015, 1, 1), 'counters': { 'total': 123, 'passed': 123, 'failed': 123, 'warned': 123, 'errored': 123, 'stopped': 123, 'skipped': 123 }, 'message': 'string', 'totalJobs': 123, 'completedJobs': 123, 'billingMethod': 'METERED'|'UNMETERED', 'deviceMinutes': { 'total': 123.0, 'metered': 123.0, 'unmetered': 123.0 }, 'networkProfile': { 'arn': 'string', 'name': 'string', 'description': 'string', 'type': 'CURATED'|'PRIVATE', 'uplinkBandwidthBits': 123, 'downlinkBandwidthBits': 123, 'uplinkDelayMs': 123, 'downlinkDelayMs': 123, 'uplinkJitterMs': 123, 'downlinkJitterMs': 123, 'uplinkLossPercent': 123, 'downlinkLossPercent': 123 }, 'parsingResultUrl': 'string', 'resultCode': 'PARSING_FAILED'|'VPC_ENDPOINT_SETUP_FAILED', 'seed': 123, 'appUpload': 'string', 'eventCount': 123, 'jobTimeoutMinutes': 123, 'devicePoolArn': 'string', 'locale': 'string', 'radios': { 'wifi': True|False, 'bluetooth': True|False, 'nfc': True|False, 'gps': True|False }, 'location': { 'latitude': 123.0, 'longitude': 123.0 }, 'customerArtifactPaths': { 'iosPaths': [ 'string', ], 'androidPaths': [ 'string', ], 'deviceHostPaths': [ 'string', ] }, 'webUrl': 'string', 'skipAppResign': True|False, 'testSpecArn': 'string', 'deviceSelectionResult': { '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', ] }, ], 'matchedDevicesCount': 123, 'maxDevices': 123 }, 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the results of your stop run attempt.
run (dict) --
The run that was stopped.
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
BUILTIN_EXPLORER
Note
For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
platform (string) --
The run's platform.
Allowed values include:
ANDROID
IOS
created (datetime) --
When the run was created.
status (string) --
The run's status.
Allowed values include:
PENDING
PENDING_CONCURRENCY
PENDING_DEVICE
PROCESSING
SCHEDULING
PREPARING
RUNNING
COMPLETED
STOPPING
result (string) --
The run's result.
Allowed values include:
PENDING
PASSED
WARNED
FAILED
SKIPPED
ERRORED
STOPPED
started (datetime) --
The run's start time.
stopped (datetime) --
The run's stop time.
counters (dict) --
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 .
Note
If you have unmetered device slots, you must set this to unmetered to use them. Otherwise, the run is counted toward metered device minutes.
deviceMinutes (dict) --
Represents the total (metered or unmetered) minutes used by the test run.
total (float) --
When specified, represents the total minutes used by the resource to run tests.
metered (float) --
When specified, represents only the sum of metered minutes used by the resource to run tests.
unmetered (float) --
When specified, represents only the sum of unmetered minutes used by the resource to run tests.
networkProfile (dict) --
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 here.
uplinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
downlinkBandwidthBits (integer) --
The data throughput rate in bits per second, as an integer from 0 to 104857600.
uplinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
downlinkDelayMs (integer) --
Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.
uplinkJitterMs (integer) --
Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.
downlinkJitterMs (integer) --
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 an 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 executes 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 (dict) --
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 (dict) --
Information about the location that is used for the run.
latitude (float) --
The latitude.
longitude (float) --
The longitude.
customerArtifactPaths (dict) --
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 are pulled from.
(string) --
androidPaths (list) --
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
(string) --
deviceHostPaths (list) --
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are 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 does not sign your app again. For public devices, Device Farm always signs your apps again.
For more information about how Device Farm re-signs your apps, 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 (dict) --
The results of a device filter used to select the devices for a test run.
filters (list) --
The filters in a device selection result.
(dict) --
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.
The supported operators for each attribute are provided in the following list.
ARN
The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example ).
Supported operators: EQUALS , IN , NOT_IN
PLATFORM
The device platform. Valid values are ANDROID or IOS.
Supported operators: EQUALS
OS_VERSION
The operating system version (for example, 10.3.2).
Supported operators: EQUALS , GREATER_THAN , GREATER_THAN_OR_EQUALS , IN , LESS_THAN , LESS_THAN_OR_EQUALS , NOT_IN
MODEL
The device model (for example, iPad 5th Gen).
Supported operators: CONTAINS , EQUALS , IN , NOT_IN
AVAILABILITY
The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
Supported operators: EQUALS
FORM_FACTOR
The device form factor. Valid values are PHONE or TABLET.
Supported operators: EQUALS
MANUFACTURER
The device manufacturer (for example, Apple).
Supported operators: EQUALS , IN , NOT_IN
REMOTE_ACCESS_ENABLED
Whether the device is enabled for remote access. Valid values are TRUE or FALSE.
Supported operators: EQUALS
REMOTE_DEBUG_ENABLED
Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.
Supported operators: EQUALS
Because remote debugging is no longer supported , this filter is ignored.
INSTANCE_ARN
The Amazon Resource Name (ARN) of the device instance.
Supported operators: EQUALS , IN , NOT_IN
INSTANCE_LABELS
The label of the device instance.
Supported operators: CONTAINS
FLEET_TYPE
The fleet type. Valid values are PUBLIC or PRIVATE.
Supported operators: EQUALS
operator (string) --
Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.
values (list) --
An array of one or more filter values used in a device filter.
Operator Values
The IN and NOT_IN 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.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.
{'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}Response
{'project': {'vpcConfig': {'securityGroupIds': ['string'], 'subnetIds': ['string'], 'vpcId': 'string'}}}
Modifies the specified project name, given the project ARN and a new name.
See also: AWS API Documentation
Request Syntax
client.update_project( arn='string', name='string', defaultJobTimeoutMinutes=123, vpcConfig={ 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the project whose name to update.
string
A string that represents the new name of the project that you are updating.
integer
The number of minutes a test run in the project executes before it times out.
dict
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) -- [REQUIRED]
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) -- [REQUIRED]
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) -- [REQUIRED]
The ID of the Amazon VPC.
dict
Response Syntax
{ 'project': { 'arn': 'string', 'name': 'string', 'defaultJobTimeoutMinutes': 123, 'created': datetime(2015, 1, 1), 'vpcConfig': { 'securityGroupIds': [ 'string', ], 'subnetIds': [ 'string', ], 'vpcId': 'string' } } }
Response Structure
(dict) --
Represents the result of an update project request.
project (dict) --
The project to update.
arn (string) --
The project's ARN.
name (string) --
The project's name.
defaultJobTimeoutMinutes (integer) --
The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.
created (datetime) --
When the project was created.
vpcConfig (dict) --
The VPC security groups and subnets that are attached to a project.
securityGroupIds (list) --
An array of one or more security groups IDs in your Amazon VPC.
(string) --
subnetIds (list) --
An array of one or more subnet IDs in your Amazon VPC.
(string) --
vpcId (string) --
The ID of the Amazon VPC.