Table of Contents
DeviceFarm.Client¶A low-level client representing AWS Device Farm:
client = session.create_client('devicefarm')
These are the available methods:
can_paginate()create_device_pool()create_network_profile()create_project()create_remote_access_session()create_upload()delete_device_pool()delete_network_profile()delete_project()delete_remote_access_session()delete_run()delete_upload()generate_presigned_url()get_account_settings()get_device()get_device_pool()get_device_pool_compatibility()get_job()get_network_profile()get_offering_status()get_paginator()get_project()get_remote_access_session()get_run()get_suite()get_test()get_upload()get_waiter()install_to_remote_access_session()list_artifacts()list_device_pools()list_devices()list_jobs()list_network_profiles()list_offering_promotions()list_offering_transactions()list_offerings()list_projects()list_remote_access_sessions()list_runs()list_samples()list_suites()list_tests()list_unique_problems()list_uploads()purchase_offering()renew_offering()schedule_run()stop_remote_access_session()stop_run()update_device_pool()update_network_profile()update_project()can_paginate(operation_name)¶Check if an operation can be paginated.
| Parameters: | operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you’d normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo"). |
|---|---|
| Returns: | True if the operation can be paginated,
False otherwise. |
create_device_pool(**kwargs)¶Creates a device pool.
See also: AWS API Documentation
Request Syntax
response = client.create_device_pool(
projectArn='string',
name='string',
description='string',
rules=[
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devicePool': {
'arn': 'string',
'name': 'string',
'description': 'string',
'type': 'CURATED'|'PRIVATE',
'rules': [
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
}
}
Response Structure
|
Examples
The following example creates a new device pool named MyDevicePool inside an existing project.
response = client.create_device_pool(
# A device pool contains related devices, such as devices that run only on Android or that run only on iOS.
name='MyDevicePool',
description='My Android devices',
# You can get the project ARN by using the list-projects CLI command.
projectArn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
rules=[
],
)
print(response)
Expected Output:
{
'devicePool': {
},
'ResponseMetadata': {
'...': '...',
},
}
create_network_profile(**kwargs)¶Creates a network profile.
See also: AWS API Documentation
Request Syntax
response = client.create_network_profile(
projectArn='string',
name='string',
description='string',
type='CURATED'|'PRIVATE',
uplinkBandwidthBits=123,
downlinkBandwidthBits=123,
uplinkDelayMs=123,
downlinkDelayMs=123,
uplinkJitterMs=123,
downlinkJitterMs=123,
uplinkLossPercent=123,
downlinkLossPercent=123
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'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
}
}
Response Structure
|
create_project(**kwargs)¶Creates a new project.
See also: AWS API Documentation
Request Syntax
response = client.create_project(
name='string',
defaultJobTimeoutMinutes=123
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'project': {
'arn': 'string',
'name': 'string',
'defaultJobTimeoutMinutes': 123,
'created': datetime(2015, 1, 1)
}
}
Response Structure
|
Examples
The following example creates a new project named MyProject.
response = client.create_project(
# A project in Device Farm is a workspace that contains test runs. A run is a test of a single app against one or more devices.
name='MyProject',
)
print(response)
Expected Output:
{
'project': {
'name': 'MyProject',
'arn': 'arn:aws:devicefarm:us-west-2:183774035805:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE',
'created': datetime(2016, 8, 31, 16, 28, 59, 2, 244, 0),
},
'ResponseMetadata': {
'...': '...',
},
}
create_remote_access_session(**kwargs)¶Specifies and starts a remote access session.
See also: AWS API Documentation
Request Syntax
response = client.create_remote_access_session(
projectArn='string',
deviceArn='string',
name='string',
configuration={
'billingMethod': 'METERED'|'UNMETERED'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | 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',
'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,
'fleetType': 'string',
'fleetName': 'string'
},
'billingMethod': 'METERED'|'UNMETERED',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
},
'endpoint': 'string'
}
}
Response Structure
|
Examples
The following example creates a remote access session named MySession.
response = client.create_remote_access_session(
name='MySession',
configuration={
'billingMethod': 'METERED',
},
# You can get the device ARN by using the list-devices CLI command.
deviceArn='arn:aws:devicefarm:us-west-2::device:123EXAMPLE',
# You can get the project ARN by using the list-projects CLI command.
projectArn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'remoteAccessSession': {
},
'ResponseMetadata': {
'...': '...',
},
}
create_upload(**kwargs)¶Uploads an app or test scripts.
See also: AWS API Documentation
Request Syntax
response = client.create_upload(
projectArn='string',
name='string',
type='ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
contentType='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'upload': {
'arn': 'string',
'name': 'string',
'created': datetime(2015, 1, 1),
'type': 'ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
'url': 'string',
'metadata': 'string',
'contentType': 'string',
'message': 'string'
}
}
Response Structure
|
Examples
The following example creates a new Appium Python test package upload inside an existing project.
response = client.create_upload(
name='MyAppiumPythonUpload',
type='APPIUM_PYTHON_TEST_PACKAGE',
# You can get the project ARN by using the list-projects CLI command.
projectArn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'upload': {
'name': 'MyAppiumPythonUpload',
'type': 'APPIUM_PYTHON_TEST_PACKAGE',
'arn': 'arn:aws:devicefarm:us-west-2:183774035805:upload:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE',
'created': datetime(2016, 8, 31, 16, 36, 44, 2, 244, 0),
'status': 'INITIALIZED',
'url': 'https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aproject%3A5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aupload%3A5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE/MyAppiumPythonUpload?AWSAccessKeyId=1234567891011EXAMPLE&Expires=1472747804&Signature=1234567891011EXAMPLE',
},
'ResponseMetadata': {
'...': '...',
},
}
delete_device_pool(**kwargs)¶Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.
See also: AWS API Documentation
Request Syntax
response = client.delete_device_pool(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
Examples
The following example deletes a specific device pool.
response = client.delete_device_pool(
# You can get the device pool ARN by using the list-device-pools CLI command.
arn='arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
delete_network_profile(**kwargs)¶Deletes a network profile.
See also: AWS API Documentation
Request Syntax
response = client.delete_network_profile(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) of the network profile you want to delete. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
delete_project(**kwargs)¶Deletes an AWS Device Farm project, given the project ARN.
Note Deleting this resource does not stop an in-progress run.
See also: AWS API Documentation
Request Syntax
response = client.delete_project(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
Examples
The following example deletes a specific project.
response = client.delete_project(
# You can get the project ARN by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
delete_remote_access_session(**kwargs)¶Deletes a completed remote access session and its results.
See also: AWS API Documentation
Request Syntax
response = client.delete_remote_access_session(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
Examples
The following example deletes a specific remote access session.
response = client.delete_remote_access_session(
# You can get the remote access session ARN by using the list-remote-access-sessions CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
delete_run(**kwargs)¶Deletes the run, given the run ARN.
Note Deleting this resource does not stop an in-progress run.
See also: AWS API Documentation
Request Syntax
response = client.delete_run(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) for the run you wish to delete. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
Examples
The following example deletes a specific test run.
response = client.delete_run(
# You can get the run ARN by using the list-runs CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
delete_upload(**kwargs)¶Deletes an upload given the upload ARN.
See also: AWS API Documentation
Request Syntax
response = client.delete_upload(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{}
Response Structure
|
Examples
The following example deletes a specific upload.
response = client.delete_upload(
# You can get the upload ARN by using the list-uploads CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)¶Generate a presigned url given a client, its method, and arguments
| Parameters: |
|
|---|---|
| Returns: | The presigned url |
get_account_settings()¶Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.
See also: AWS API Documentation
Request Syntax
response = client.get_account_settings()
| Return type: | dict |
|---|---|
| Returns: | Response Syntax{
'accountSettings': {
'awsAccountNumber': 'string',
'unmeteredDevices': {
'string': 123
},
'unmeteredRemoteAccessDevices': {
'string': 123
},
'maxJobTimeoutMinutes': 123,
'trialMinutes': {
'total': 123.0,
'remaining': 123.0
},
'maxSlots': {
'string': 123
},
'defaultJobTimeoutMinutes': 123
}
}
Response Structure
|
Examples
The following example returns information about your Device Farm account settings.
response = client.get_account_settings(
)
print(response)
Expected Output:
{
'accountSettings': {
'awsAccountNumber': '123456789101',
'unmeteredDevices': {
'ANDROID': 1,
'IOS': 2,
},
},
'ResponseMetadata': {
'...': '...',
},
}
get_device(**kwargs)¶Gets information about a unique device type.
See also: AWS API Documentation
Request Syntax
response = client.get_device(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The device type’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
}
}
Response Structure
|
Examples
The following example returns information about a specific device.
response = client.get_device(
arn='arn:aws:devicefarm:us-west-2::device:123EXAMPLE',
)
print(response)
Expected Output:
{
'device': {
'name': 'LG G2 (Sprint)',
'arn': 'arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C',
'cpu': {
'architecture': 'armeabi-v7a',
'clock': 2265.6,
'frequency': 'MHz',
},
'formFactor': 'PHONE',
'heapSize': 256000000,
'image': '75B2B7EF6C12345EXAMPLE',
'manufacturer': 'LG',
'memory': 16000000000,
'model': 'G2 (Sprint)',
'os': '4.2.2',
'platform': 'ANDROID',
'resolution': {
'height': 1920,
'width': 1080,
},
},
'ResponseMetadata': {
'...': '...',
},
}
get_device_pool(**kwargs)¶Gets information about a device pool.
See also: AWS API Documentation
Request Syntax
response = client.get_device_pool(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The device pool’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'devicePool': {
'arn': 'string',
'name': 'string',
'description': 'string',
'type': 'CURATED'|'PRIVATE',
'rules': [
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
}
}
Response Structure
|
Examples
The following example returns information about a specific device pool, given a project ARN.
response = client.get_device_pool(
# You can obtain the project ARN by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'devicePool': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_device_pool_compatibility(**kwargs)¶Gets information about compatibility with a device pool.
See also: AWS API Documentation
Request Syntax
response = client.get_device_pool_compatibility(
devicePoolArn='string',
appArn='string',
testType='BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
test={
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'testPackageArn': 'string',
'filter': 'string',
'parameters': {
'string': 'string'
}
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'compatibleDevices': [
{
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'compatible': True|False,
'incompatibilityMessages': [
{
'message': 'string',
'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION'
},
]
},
],
'incompatibleDevices': [
{
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'compatible': True|False,
'incompatibilityMessages': [
{
'message': 'string',
'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION'
},
]
},
]
}
Response Structure
|
Examples
The following example returns information about the compatibility of a specific device pool, given its ARN.
response = client.get_device_pool_compatibility(
appArn='arn:aws:devicefarm:us-west-2::app:123-456-EXAMPLE-GUID',
# You can get the device pool ARN by using the list-device-pools CLI command.
devicePoolArn='arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID',
testType='APPIUM_PYTHON',
)
print(response)
Expected Output:
{
'compatibleDevices': [
],
'incompatibleDevices': [
],
'ResponseMetadata': {
'...': '...',
},
}
get_job(**kwargs)¶Gets information about a job.
See also: AWS API Documentation
Request Syntax
response = client.get_job(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The job’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'job': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
}
}
Response Structure
|
Examples
The following example returns information about a specific job.
response = client.get_job(
# You can get the job ARN by using the list-jobs CLI command.
arn='arn:aws:devicefarm:us-west-2::job:123-456-EXAMPLE-GUID',
)
print(response)
Expected Output:
{
'job': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_network_profile(**kwargs)¶Returns information about a network profile.
See also: AWS API Documentation
Request Syntax
response = client.get_network_profile(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) of the network profile you want to return information about. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'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
}
}
Response Structure
|
get_offering_status(**kwargs)¶Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.get_offering_status(
nextToken='string'
)
| Parameters: | 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. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'current': {
'string': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
}
},
'nextPeriod': {
'string': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
}
},
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about Device Farm offerings available to your account.
response = client.get_offering_status(
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=',
)
print(response)
Expected Output:
{
'current': {
'D68B3C05-1BA6-4360-BC69-12345EXAMPLE': {
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
},
'nextPeriod': {
'D68B3C05-1BA6-4360-BC69-12345EXAMPLE': {
'effectiveOn': datetime(2016, 9, 1, 0, 0, 0, 3, 245, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
},
'ResponseMetadata': {
'...': '...',
},
}
get_paginator(operation_name)¶Create a paginator for an operation.
| Parameters: | operation_name (string) – The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you’d normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo"). |
|---|---|
| Raises: | OperationNotPageableError – Raised if the operation is not
pageable. You can use the client.can_paginate method to
check if an operation is pageable. |
| Return type: | L{botocore.paginate.Paginator} |
| Returns: | A paginator object. |
get_project(**kwargs)¶Gets information about a project.
See also: AWS API Documentation
Request Syntax
response = client.get_project(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The project’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'project': {
'arn': 'string',
'name': 'string',
'defaultJobTimeoutMinutes': 123,
'created': datetime(2015, 1, 1)
}
}
Response Structure
|
Examples
The following example gets information about a specific project.
response = client.get_project(
# You can get the project ARN by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE',
)
print(response)
Expected Output:
{
'project': {
'name': 'My Project',
'arn': 'arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE',
'created': datetime(2016, 8, 31, 16, 28, 59, 2, 244, 0),
},
'ResponseMetadata': {
'...': '...',
},
}
get_remote_access_session(**kwargs)¶Returns a link to a currently running remote access session.
See also: AWS API Documentation
Request Syntax
response = client.get_remote_access_session(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) of the remote access session about which you want to get session information. |
|---|---|
| Return type: | dict |
| Returns: | 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',
'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,
'fleetType': 'string',
'fleetName': 'string'
},
'billingMethod': 'METERED'|'UNMETERED',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
},
'endpoint': 'string'
}
}
Response Structure
|
Examples
The following example gets a specific remote access session.
response = client.get_remote_access_session(
# You can get the remote access session ARN by using the list-remote-access-sessions CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'remoteAccessSession': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_run(**kwargs)¶Gets information about a run.
See also: AWS API Documentation
Request Syntax
response = client.get_run(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The run’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'run': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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
}
}
}
Response Structure
|
Examples
The following example gets information about a specific test run.
response = client.get_run(
# You can get the run ARN by using the list-runs CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE',
)
print(response)
Expected Output:
{
'run': {
'name': 'My Test Run',
'type': 'BUILTIN_EXPLORER',
'arn': 'arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE',
'billingMethod': 'METERED',
'completedJobs': 0,
'counters': {
'errored': 0,
'failed': 0,
'passed': 0,
'skipped': 0,
'stopped': 0,
'total': 0,
'warned': 0,
},
'created': datetime(2016, 8, 31, 18, 18, 29, 2, 244, 0),
'deviceMinutes': {
'metered': 0.0,
'total': 0.0,
'unmetered': 0.0,
},
'platform': 'ANDROID',
'result': 'PENDING',
'status': 'RUNNING',
'totalJobs': 3,
},
'ResponseMetadata': {
'...': '...',
},
}
get_suite(**kwargs)¶Gets information about a suite.
See also: AWS API Documentation
Request Syntax
response = client.get_suite(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The suite’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'suite': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
}
}
Response Structure
|
Examples
The following example gets information about a specific test suite.
response = client.get_suite(
# You can get the suite ARN by using the list-suites CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:suite:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'suite': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_test(**kwargs)¶Gets information about a test.
See also: AWS API Documentation
Request Syntax
response = client.get_test(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The test’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'test': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
}
}
Response Structure
|
Examples
The following example gets information about a specific test.
response = client.get_test(
# You can get the test ARN by using the list-tests CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'test': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_upload(**kwargs)¶Gets information about an upload.
See also: AWS API Documentation
Request Syntax
response = client.get_upload(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The upload’s ARN. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'upload': {
'arn': 'string',
'name': 'string',
'created': datetime(2015, 1, 1),
'type': 'ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
'url': 'string',
'metadata': 'string',
'contentType': 'string',
'message': 'string'
}
}
Response Structure
|
Examples
The following example gets information about a specific upload.
response = client.get_upload(
# You can get the test ARN by using the list-uploads CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'upload': {
},
'ResponseMetadata': {
'...': '...',
},
}
get_waiter(waiter_name)¶install_to_remote_access_session(**kwargs)¶Installs an application to the device in a remote access session. For Android applications, the file must be in .apk format. For iOS applications, the file must be in .ipa format.
See also: AWS API Documentation
Request Syntax
response = client.install_to_remote_access_session(
remoteAccessSessionArn='string',
appArn='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'appUpload': {
'arn': 'string',
'name': 'string',
'created': datetime(2015, 1, 1),
'type': 'ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
'url': 'string',
'metadata': 'string',
'contentType': 'string',
'message': 'string'
}
}
Response Structure
|
Examples
The following example installs a specific app to a device in a specific remote access session.
response = client.install_to_remote_access_session(
appArn='arn:aws:devicefarm:us-west-2:123456789101:app:EXAMPLE-GUID-123-456',
# You can get the remote access session ARN by using the list-remote-access-sessions CLI command.
remoteAccessSessionArn='arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'appUpload': {
},
'ResponseMetadata': {
'...': '...',
},
}
list_artifacts(**kwargs)¶Gets information about artifacts.
See also: AWS API Documentation
Request Syntax
response = client.list_artifacts(
arn='string',
type='SCREENSHOT'|'FILE'|'LOG',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'artifacts': [
{
'arn': 'string',
'name': 'string',
'type': 'UNKNOWN'|'SCREENSHOT'|'DEVICE_LOG'|'MESSAGE_LOG'|'VIDEO_LOG'|'RESULT_LOG'|'SERVICE_LOG'|'WEBKIT_LOG'|'INSTRUMENTATION_OUTPUT'|'EXERCISER_MONKEY_OUTPUT'|'CALABASH_JSON_OUTPUT'|'CALABASH_PRETTY_OUTPUT'|'CALABASH_STANDARD_OUTPUT'|'CALABASH_JAVA_XML_OUTPUT'|'AUTOMATION_OUTPUT'|'APPIUM_SERVER_OUTPUT'|'APPIUM_JAVA_OUTPUT'|'APPIUM_JAVA_XML_OUTPUT'|'APPIUM_PYTHON_OUTPUT'|'APPIUM_PYTHON_XML_OUTPUT'|'EXPLORER_EVENT_LOG'|'EXPLORER_SUMMARY_LOG'|'APPLICATION_CRASH_REPORT'|'XCTEST_LOG'|'VIDEO',
'extension': 'string',
'url': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example lists screenshot artifacts for a specific run.
response = client.list_artifacts(
type='SCREENSHOT',
# Can also be used to list artifacts for a Job, Suite, or Test ARN.
arn='arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
list_device_pools(**kwargs)¶Gets information about device pools.
See also: AWS API Documentation
Request Syntax
response = client.list_device_pools(
arn='string',
type='CURATED'|'PRIVATE',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devicePools': [
{
'arn': 'string',
'name': 'string',
'description': 'string',
'type': 'CURATED'|'PRIVATE',
'rules': [
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about the private device pools in a specific project.
response = client.list_device_pools(
type='PRIVATE',
# You can get the project ARN by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'devicePools': [
{
'name': 'Top Devices',
'arn': 'arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE',
'description': 'Top devices',
'rules': [
{
'value': '["arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE"]',
'attribute': 'ARN',
'operator': 'IN',
},
],
},
{
'name': 'My Android Device Pool',
'arn': 'arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/bf96e75a-28f6-4e61-b6a7-12345EXAMPLE',
'description': 'Samsung Galaxy Android devices',
'rules': [
{
'value': '["arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE","arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE"]',
'attribute': 'ARN',
'operator': 'IN',
},
],
},
],
'ResponseMetadata': {
'...': '...',
},
}
list_devices(**kwargs)¶Gets information about unique device types.
See also: AWS API Documentation
Request Syntax
response = client.list_devices(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devices': [
{
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about the available devices in a specific project.
response = client.list_devices(
# You can get the project ARN by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
list_jobs(**kwargs)¶Gets information about jobs.
See also: AWS API Documentation
Request Syntax
response = client.list_jobs(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'jobs': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about jobs in a specific project.
response = client.list_jobs(
# You can get the project ARN by using the list-jobs CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'ResponseMetadata': {
'...': '...',
},
}
list_network_profiles(**kwargs)¶Returns the list of available network profiles.
See also: AWS API Documentation
Request Syntax
response = client.list_network_profiles(
arn='string',
type='CURATED'|'PRIVATE',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'networkProfiles': [
{
'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
},
],
'nextToken': 'string'
}
Response Structure
|
list_offering_promotions(**kwargs)¶Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a NotEligible error if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.list_offering_promotions(
nextToken='string'
)
| Parameters: | 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. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'offeringPromotions': [
{
'id': 'string',
'description': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
list_offering_transactions(**kwargs)¶Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.list_offering_transactions(
nextToken='string'
)
| Parameters: | 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. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'offeringTransactions': [
{
'offeringStatus': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
},
'transactionId': 'string',
'offeringPromotionId': 'string',
'createdOn': datetime(2015, 1, 1),
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
}
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about Device Farm offering transactions.
response = client.list_offering_transactions(
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=',
)
print(response)
Expected Output:
{
'offeringTransactions': [
{
'cost': {
'amount': 0,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 8, 1, 3, 17, 0, 0, 214, 0),
'offeringStatus': {
'type': 'RENEW',
'effectiveOn': datetime(2016, 9, 1, 0, 0, 0, 3, 245, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 0,
},
'transactionId': '03728003-d1ea-4851-abd6-12345EXAMPLE',
},
{
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 8, 1, 3, 17, 0, 0, 214, 0),
'offeringStatus': {
'type': 'PURCHASE',
'effectiveOn': datetime(2016, 8, 1, 3, 17, 0, 0, 214, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
'transactionId': '56820b6e-06bd-473a-8ff8-12345EXAMPLE',
},
{
'cost': {
'amount': 175,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 6, 10, 6, 2, 0, 4, 162, 0),
'offeringStatus': {
'type': 'PURCHASE',
'effectiveOn': datetime(2016, 6, 10, 6, 2, 0, 4, 162, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Unmetered Device Slot',
'id': '8980F81C-00D7-469D-8EC6-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
'transactionId': '953ae2c6-d760-4a04-9597-12345EXAMPLE',
},
{
'cost': {
'amount': 8.07,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 3, 30, 13, 25, 0, 2, 90, 0),
'offeringStatus': {
'type': 'PURCHASE',
'effectiveOn': datetime(2016, 3, 30, 13, 25, 0, 2, 90, 0),
'offering': {
'type': 'RECURRING',
'description': 'iOS Unmetered Device Slot',
'id': 'A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE',
'platform': 'IOS',
},
'quantity': 1,
},
'transactionId': '2baf9021-ae3e-47f5-ab52-12345EXAMPLE',
},
],
'ResponseMetadata': {
'...': '...',
},
}
list_offerings(**kwargs)¶Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.list_offerings(
nextToken='string'
)
| Parameters: | 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. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'offerings': [
{
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about available device offerings.
response = client.list_offerings(
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=',
)
print(response)
Expected Output:
{
'offerings': [
{
'type': 'RECURRING',
'description': 'iOS Unmetered Device Slot',
'id': 'A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE',
'platform': 'IOS',
'recurringCharges': [
{
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'frequency': 'MONTHLY',
},
],
},
{
'type': 'RECURRING',
'description': 'Android Unmetered Device Slot',
'id': '8980F81C-00D7-469D-8EC6-12345EXAMPLE',
'platform': 'ANDROID',
'recurringCharges': [
{
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'frequency': 'MONTHLY',
},
],
},
{
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
'recurringCharges': [
{
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'frequency': 'MONTHLY',
},
],
},
{
'type': 'RECURRING',
'description': 'iOS Remote Access Unmetered Device Slot',
'id': '552B4DAD-A6C9-45C4-94FB-12345EXAMPLE',
'platform': 'IOS',
'recurringCharges': [
{
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'frequency': 'MONTHLY',
},
],
},
],
'ResponseMetadata': {
'...': '...',
},
}
list_projects(**kwargs)¶Gets information about projects.
See also: AWS API Documentation
Request Syntax
response = client.list_projects(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'projects': [
{
'arn': 'string',
'name': 'string',
'defaultJobTimeoutMinutes': 123,
'created': datetime(2015, 1, 1)
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about the specified project in Device Farm.
response = client.list_projects(
arn='arn:aws:devicefarm:us-west-2:123456789101:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'projects': [
{
'name': 'My Test Project',
'arn': 'arn:aws:devicefarm:us-west-2:183774035805:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE',
'created': datetime(2016, 1, 19, 0, 27, 42, 1, 19, 0),
},
{
'name': 'Hello World',
'arn': 'arn:aws:devicefarm:us-west-2:183774035805:project:d6b087d9-56db-4e44-b9ec-12345EXAMPLE',
'created': datetime(2016, 8, 4, 22, 35, 12, 3, 217, 0),
},
],
'ResponseMetadata': {
'...': '...',
},
}
list_remote_access_sessions(**kwargs)¶Returns a list of all currently running remote access sessions.
See also: AWS API Documentation
Request Syntax
response = client.list_remote_access_sessions(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | 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',
'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,
'fleetType': 'string',
'fleetName': 'string'
},
'billingMethod': 'METERED'|'UNMETERED',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
},
'endpoint': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about a specific Device Farm remote access session.
response = client.list_remote_access_sessions(
# You can get the Amazon Resource Name (ARN) of the session by using the list-sessions CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=',
)
print(response)
Expected Output:
{
'remoteAccessSessions': [
],
'ResponseMetadata': {
'...': '...',
},
}
list_runs(**kwargs)¶Gets information about runs, given an AWS Device Farm project ARN.
See also: AWS API Documentation
Request Syntax
response = client.list_runs(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'runs': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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
}
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about a specific test run.
response = client.list_runs(
# You can get the Amazon Resource Name (ARN) of the run by using the list-runs CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'runs': [
{
'name': 'My Test Run',
'type': 'BUILTIN_EXPLORER',
'arn': 'arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE',
'billingMethod': 'METERED',
'completedJobs': 0,
'counters': {
'errored': 0,
'failed': 0,
'passed': 0,
'skipped': 0,
'stopped': 0,
'total': 0,
'warned': 0,
},
'created': datetime(2016, 8, 31, 18, 18, 29, 2, 244, 0),
'deviceMinutes': {
'metered': 0.0,
'total': 0.0,
'unmetered': 0.0,
},
'platform': 'ANDROID',
'result': 'PENDING',
'status': 'RUNNING',
'totalJobs': 3,
},
],
'ResponseMetadata': {
'...': '...',
},
}
list_samples(**kwargs)¶Gets information about samples, given an AWS Device Farm project ARN
See also: AWS API Documentation
Request Syntax
response = client.list_samples(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'samples': [
{
'arn': 'string',
'type': 'CPU'|'MEMORY'|'THREADS'|'RX_RATE'|'TX_RATE'|'RX'|'TX'|'NATIVE_FRAMES'|'NATIVE_FPS'|'NATIVE_MIN_DRAWTIME'|'NATIVE_AVG_DRAWTIME'|'NATIVE_MAX_DRAWTIME'|'OPENGL_FRAMES'|'OPENGL_FPS'|'OPENGL_MIN_DRAWTIME'|'OPENGL_AVG_DRAWTIME'|'OPENGL_MAX_DRAWTIME',
'url': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about samples, given a specific Device Farm project.
response = client.list_samples(
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'samples': [
],
'ResponseMetadata': {
'...': '...',
},
}
list_suites(**kwargs)¶Gets information about suites.
See also: AWS API Documentation
Request Syntax
response = client.list_suites(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'suites': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about suites, given a specific Device Farm project.
response = client.list_suites(
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'suites': [
],
'ResponseMetadata': {
'...': '...',
},
}
list_tests(**kwargs)¶Gets information about tests.
See also: AWS API Documentation
Request Syntax
response = client.list_tests(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'tests': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about tests, given a specific Device Farm project.
response = client.list_tests(
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'tests': [
],
'ResponseMetadata': {
'...': '...',
},
}
list_unique_problems(**kwargs)¶Gets information about unique problems.
See also: AWS API Documentation
Request Syntax
response = client.list_unique_problems(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'uniqueProblems': {
'string': [
{
'message': 'string',
'problems': [
{
'run': {
'arn': 'string',
'name': 'string'
},
'job': {
'arn': 'string',
'name': 'string'
},
'suite': {
'arn': 'string',
'name': 'string'
},
'test': {
'arn': 'string',
'name': 'string'
},
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED',
'message': 'string'
},
]
},
]
},
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about unique problems, given a specific Device Farm project.
response = client.list_unique_problems(
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'uniqueProblems': {
},
'ResponseMetadata': {
'...': '...',
},
}
list_uploads(**kwargs)¶Gets information about uploads, given an AWS Device Farm project ARN.
See also: AWS API Documentation
Request Syntax
response = client.list_uploads(
arn='string',
nextToken='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'uploads': [
{
'arn': 'string',
'name': 'string',
'created': datetime(2015, 1, 1),
'type': 'ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
'url': 'string',
'metadata': 'string',
'contentType': 'string',
'message': 'string'
},
],
'nextToken': 'string'
}
Response Structure
|
Examples
The following example returns information about uploads, given a specific Device Farm project.
response = client.list_uploads(
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
# A dynamically generated value, used for paginating results.
nextToken='RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE',
)
print(response)
Expected Output:
{
'uploads': [
],
'ResponseMetadata': {
'...': '...',
},
}
purchase_offering(**kwargs)¶Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.purchase_offering(
offeringId='string',
quantity=123,
offeringPromotionId='string'
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'offeringTransaction': {
'offeringStatus': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
},
'transactionId': 'string',
'offeringPromotionId': 'string',
'createdOn': datetime(2015, 1, 1),
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
}
}
}
Response Structure
|
Examples
The following example purchases a specific device slot offering.
response = client.purchase_offering(
# You can get the offering ID by using the list-offerings CLI command.
offeringId='D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
quantity=1,
)
print(response)
Expected Output:
{
'offeringTransaction': {
'cost': {
'amount': 8.07,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 8, 31, 12, 59, 0, 2, 244, 0),
'offeringStatus': {
'type': 'PURCHASE',
'effectiveOn': datetime(2016, 8, 31, 12, 59, 0, 2, 244, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
'transactionId': 'd30614ed-1b03-404c-9893-12345EXAMPLE',
},
'ResponseMetadata': {
'...': '...',
},
}
renew_offering(**kwargs)¶Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.
See also: AWS API Documentation
Request Syntax
response = client.renew_offering(
offeringId='string',
quantity=123
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'offeringTransaction': {
'offeringStatus': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
},
'transactionId': 'string',
'offeringPromotionId': 'string',
'createdOn': datetime(2015, 1, 1),
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
}
}
}
Response Structure
|
Examples
The following example renews a specific device slot offering.
response = client.renew_offering(
# You can get the offering ID by using the list-offerings CLI command.
offeringId='D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
quantity=1,
)
print(response)
Expected Output:
{
'offeringTransaction': {
'cost': {
'amount': 250,
'currencyCode': 'USD',
},
'createdOn': datetime(2016, 8, 31, 13, 8, 0, 2, 244, 0),
'offeringStatus': {
'type': 'RENEW',
'effectiveOn': datetime(2016, 9, 1, 0, 0, 0, 3, 245, 0),
'offering': {
'type': 'RECURRING',
'description': 'Android Remote Access Unmetered Device Slot',
'id': 'D68B3C05-1BA6-4360-BC69-12345EXAMPLE',
'platform': 'ANDROID',
},
'quantity': 1,
},
'transactionId': 'e90f1405-8c35-4561-be43-12345EXAMPLE',
},
'ResponseMetadata': {
'...': '...',
},
}
schedule_run(**kwargs)¶Schedules a run.
See also: AWS API Documentation
Request Syntax
response = client.schedule_run(
projectArn='string',
appArn='string',
devicePoolArn='string',
name='string',
test={
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'testPackageArn': 'string',
'filter': 'string',
'parameters': {
'string': 'string'
}
},
configuration={
'extraDataPackageArn': 'string',
'networkProfileArn': 'string',
'locale': 'string',
'location': {
'latitude': 123.0,
'longitude': 123.0
},
'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
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'run': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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
}
}
}
Response Structure
|
Examples
The following example schedules a test run named MyRun.
response = client.schedule_run(
name='MyRun',
# You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command.
devicePoolArn='arn:aws:devicefarm:us-west-2:123456789101:pool:EXAMPLE-GUID-123-456',
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
projectArn='arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456',
test={
'type': 'APPIUM_JAVA_JUNIT',
'testPackageArn': 'arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456',
},
)
print(response)
Expected Output:
{
'run': {
},
'ResponseMetadata': {
'...': '...',
},
}
stop_remote_access_session(**kwargs)¶Ends a specified remote access session.
See also: AWS API Documentation
Request Syntax
response = client.stop_remote_access_session(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] The Amazon Resource Name (ARN) of the remote access session you wish to stop. |
|---|---|
| Return type: | dict |
| Returns: | 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',
'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,
'fleetType': 'string',
'fleetName': 'string'
},
'billingMethod': 'METERED'|'UNMETERED',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
},
'endpoint': 'string'
}
}
Response Structure
|
stop_run(**kwargs)¶Initiates a stop request for the current test run. AWS Device Farm will immediately stop the run on devices where tests have not started executing, and you will not be billed for these devices. On devices where tests have started executing, Setup Suite and Teardown Suite tests will run to completion before stopping execution on those devices. You will be billed for Setup, Teardown, and any tests that were in progress or already completed.
See also: AWS API Documentation
Request Syntax
response = client.stop_run(
arn='string'
)
| Parameters: | arn (string) – [REQUIRED] Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop. |
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'run': {
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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
}
}
}
Response Structure
|
Examples
The following example stops a specific test run.
response = client.stop_run(
# You can get the Amazon Resource Name (ARN) of the test run by using the list-runs CLI command.
arn='arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456',
)
print(response)
Expected Output:
{
'run': {
},
'ResponseMetadata': {
'...': '...',
},
}
update_device_pool(**kwargs)¶Modifies the name, description, and rules in a device pool given the attributes and the pool ARN. Rule updates are all-or-nothing, meaning they can only be updated as a whole (or not at all).
See also: AWS API Documentation
Request Syntax
response = client.update_device_pool(
arn='string',
name='string',
description='string',
rules=[
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devicePool': {
'arn': 'string',
'name': 'string',
'description': 'string',
'type': 'CURATED'|'PRIVATE',
'rules': [
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
}
}
Response Structure
|
Examples
The following example updates the specified device pool with a new name and description. It also enables remote access of devices in the device pool.
response = client.update_device_pool(
name='NewName',
# You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command.
arn='arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE',
description='NewDescription',
rules=[
{
'value': 'True',
'attribute': 'REMOTE_ACCESS_ENABLED',
'operator': 'EQUALS',
},
],
)
print(response)
Expected Output:
{
# Note: you cannot update curated device pools.
'devicePool': {
},
'ResponseMetadata': {
'...': '...',
},
}
update_network_profile(**kwargs)¶Updates the network profile with specific settings.
See also: AWS API Documentation
Request Syntax
response = client.update_network_profile(
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
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'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
}
}
Response Structure
|
update_project(**kwargs)¶Modifies the specified project name, given the project ARN and a new name.
See also: AWS API Documentation
Request Syntax
response = client.update_project(
arn='string',
name='string',
defaultJobTimeoutMinutes=123
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'project': {
'arn': 'string',
'name': 'string',
'defaultJobTimeoutMinutes': 123,
'created': datetime(2015, 1, 1)
}
}
Response Structure
|
Examples
The following example updates the specified project with a new name.
response = client.update_project(
name='NewName',
# You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.
arn='arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE',
)
print(response)
Expected Output:
{
'project': {
'name': 'NewName',
'arn': 'arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE',
'created': datetime(2015, 11, 24, 21, 31, 49, 1, 328, 0),
},
'ResponseMetadata': {
'...': '...',
},
}
The available paginators are:
DeviceFarm.Paginator.GetOfferingStatusDeviceFarm.Paginator.ListArtifactsDeviceFarm.Paginator.ListDevicePoolsDeviceFarm.Paginator.ListDevicesDeviceFarm.Paginator.ListJobsDeviceFarm.Paginator.ListOfferingTransactionsDeviceFarm.Paginator.ListOfferingsDeviceFarm.Paginator.ListProjectsDeviceFarm.Paginator.ListRunsDeviceFarm.Paginator.ListSamplesDeviceFarm.Paginator.ListSuitesDeviceFarm.Paginator.ListTestsDeviceFarm.Paginator.ListUniqueProblemsDeviceFarm.Paginator.ListUploadsDeviceFarm.Paginator.GetOfferingStatus¶paginator = client.get_paginator('get_offering_status')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.get_offering_status().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: | PaginationConfig (dict) – A dictionary that provides parameters to control pagination.
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'current': {
'string': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
}
},
'nextPeriod': {
'string': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
}
},
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListArtifacts¶paginator = client.get_paginator('list_artifacts')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_artifacts().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
type='SCREENSHOT'|'FILE'|'LOG',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'artifacts': [
{
'arn': 'string',
'name': 'string',
'type': 'UNKNOWN'|'SCREENSHOT'|'DEVICE_LOG'|'MESSAGE_LOG'|'VIDEO_LOG'|'RESULT_LOG'|'SERVICE_LOG'|'WEBKIT_LOG'|'INSTRUMENTATION_OUTPUT'|'EXERCISER_MONKEY_OUTPUT'|'CALABASH_JSON_OUTPUT'|'CALABASH_PRETTY_OUTPUT'|'CALABASH_STANDARD_OUTPUT'|'CALABASH_JAVA_XML_OUTPUT'|'AUTOMATION_OUTPUT'|'APPIUM_SERVER_OUTPUT'|'APPIUM_JAVA_OUTPUT'|'APPIUM_JAVA_XML_OUTPUT'|'APPIUM_PYTHON_OUTPUT'|'APPIUM_PYTHON_XML_OUTPUT'|'EXPLORER_EVENT_LOG'|'EXPLORER_SUMMARY_LOG'|'APPLICATION_CRASH_REPORT'|'XCTEST_LOG'|'VIDEO',
'extension': 'string',
'url': 'string'
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListDevicePools¶paginator = client.get_paginator('list_device_pools')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_device_pools().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
type='CURATED'|'PRIVATE',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devicePools': [
{
'arn': 'string',
'name': 'string',
'description': 'string',
'type': 'CURATED'|'PRIVATE',
'rules': [
{
'attribute': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'APPIUM_VERSION',
'operator': 'EQUALS'|'LESS_THAN'|'GREATER_THAN'|'IN'|'NOT_IN'|'CONTAINS',
'value': 'string'
},
]
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListDevices¶paginator = client.get_paginator('list_devices')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_devices().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'devices': [
{
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListJobs¶paginator = client.get_paginator('list_jobs')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_jobs().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'jobs': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListOfferingTransactions¶paginator = client.get_paginator('list_offering_transactions')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_offering_transactions().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: | PaginationConfig (dict) – A dictionary that provides parameters to control pagination.
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'offeringTransactions': [
{
'offeringStatus': {
'type': 'PURCHASE'|'RENEW'|'SYSTEM',
'offering': {
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
'quantity': 123,
'effectiveOn': datetime(2015, 1, 1)
},
'transactionId': 'string',
'offeringPromotionId': 'string',
'createdOn': datetime(2015, 1, 1),
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
}
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListOfferings¶paginator = client.get_paginator('list_offerings')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_offerings().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: | PaginationConfig (dict) – A dictionary that provides parameters to control pagination.
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax{
'offerings': [
{
'id': 'string',
'description': 'string',
'type': 'RECURRING',
'platform': 'ANDROID'|'IOS',
'recurringCharges': [
{
'cost': {
'amount': 123.0,
'currencyCode': 'USD'
},
'frequency': 'MONTHLY'
},
]
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListProjects¶paginator = client.get_paginator('list_projects')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_projects().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'projects': [
{
'arn': 'string',
'name': 'string',
'defaultJobTimeoutMinutes': 123,
'created': datetime(2015, 1, 1)
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListRuns¶paginator = client.get_paginator('list_runs')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_runs().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'runs': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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
}
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListSamples¶paginator = client.get_paginator('list_samples')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_samples().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'samples': [
{
'arn': 'string',
'type': 'CPU'|'MEMORY'|'THREADS'|'RX_RATE'|'TX_RATE'|'RX'|'TX'|'NATIVE_FRAMES'|'NATIVE_FPS'|'NATIVE_MIN_DRAWTIME'|'NATIVE_AVG_DRAWTIME'|'NATIVE_MAX_DRAWTIME'|'OPENGL_FRAMES'|'OPENGL_FPS'|'OPENGL_MIN_DRAWTIME'|'OPENGL_AVG_DRAWTIME'|'OPENGL_MAX_DRAWTIME',
'url': 'string'
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListSuites¶paginator = client.get_paginator('list_suites')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_suites().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'suites': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListTests¶paginator = client.get_paginator('list_tests')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_tests().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'tests': [
{
'arn': 'string',
'name': 'string',
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
'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',
'deviceMinutes': {
'total': 123.0,
'metered': 123.0,
'unmetered': 123.0
}
},
],
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListUniqueProblems¶paginator = client.get_paginator('list_unique_problems')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_unique_problems().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'uniqueProblems': {
'string': [
{
'message': 'string',
'problems': [
{
'run': {
'arn': 'string',
'name': 'string'
},
'job': {
'arn': 'string',
'name': 'string'
},
'suite': {
'arn': 'string',
'name': 'string'
},
'test': {
'arn': 'string',
'name': 'string'
},
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': '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,
'fleetType': 'string',
'fleetName': 'string'
},
'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED',
'message': 'string'
},
]
},
]
},
'NextToken': 'string'
}
Response Structure
|
DeviceFarm.Paginator.ListUploads¶paginator = client.get_paginator('list_uploads')
paginate(**kwargs)¶Creates an iterator that will paginate through responses from DeviceFarm.Client.list_uploads().
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
arn='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
| Parameters: |
|
|---|---|
| Return type: | dict |
| Returns: | Response Syntax {
'uploads': [
{
'arn': 'string',
'name': 'string',
'created': datetime(2015, 1, 1),
'type': 'ANDROID_APP'|'IOS_APP'|'WEB_APP'|'EXTERNAL_DATA'|'APPIUM_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_PYTHON_TEST_PACKAGE'|'APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE'|'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE'|'APPIUM_WEB_PYTHON_TEST_PACKAGE'|'CALABASH_TEST_PACKAGE'|'INSTRUMENTATION_TEST_PACKAGE'|'UIAUTOMATION_TEST_PACKAGE'|'UIAUTOMATOR_TEST_PACKAGE'|'XCTEST_TEST_PACKAGE'|'XCTEST_UI_TEST_PACKAGE',
'status': 'INITIALIZED'|'PROCESSING'|'SUCCEEDED'|'FAILED',
'url': 'string',
'metadata': 'string',
'contentType': 'string',
'message': 'string'
},
],
'NextToken': 'string'
}
Response Structure
|