DeviceFarm.Client.
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'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY',
test={
'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'WEB_PERFORMANCE_PROFILE'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_NODE'|'APPIUM_RUBY'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'APPIUM_WEB_NODE'|'APPIUM_WEB_RUBY'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI'|'REMOTE_ACCESS_RECORD'|'REMOTE_ACCESS_REPLAY',
'testPackageArn': 'string',
'testSpecArn': 'string',
'filter': 'string',
'parameters': {
'string': 'string'
}
},
configuration={
'extraDataPackageArn': 'string',
'networkProfileArn': 'string',
'locale': 'string',
'location': {
'latitude': 123.0,
'longitude': 123.0
},
'vpceConfigurationArns': [
'string',
],
'customerArtifactPaths': {
'iosPaths': [
'string',
],
'androidPaths': [
'string',
],
'deviceHostPaths': [
'string',
]
},
'radios': {
'wifi': True|False,
'bluetooth': True|False,
'nfc': True|False,
'gps': True|False
},
'auxiliaryApps': [
'string',
],
'billingMethod': 'METERED'|'UNMETERED'
}
)
[REQUIRED]
The device pool's ARN.
The test type for the specified device pool.
Allowed values include the following:
Information about the uploaded test to be run against the device pool.
The test's type.
Must be one of the following values:
The ARN of the uploaded test to be run.
The ARN of the YAML-formatted test specification.
The test's filter.
The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.
For all tests:
app_performance_monitoring
: Performance monitoring is enabled by default. Set this parameter to false to disable it.For Calabash tests:
my_profile_name
).For Appium tests (all types):
For fuzz tests (Android only):
For Explorer tests:
For Instrumentation:
com.android.abc.Test1
com.android.abc.Test1#smoke
com.android.abc.Test1,com.android.abc.Test2
For XCTest and XCTestUI:
LoginTests
LoginTests,SmokeTests
LoginTests/testValid
LoginTests/testValid,LoginTests/testInvalid
For UIAutomator:
com.android.abc.Test1
com.android.abc.Test1#smoke
com.android.abc.Test1,com.android.abc.Test2
An object that contains information about the settings for a run.
The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to external data for Android or the app's sandbox for iOS.
Reserved for internal use.
Information about the locale that is used for the run.
Information about the location that is used for the run.
The latitude.
The longitude.
An array of ARNs for your VPC endpoint configurations.
Input CustomerArtifactPaths
object for the scheduled run configuration.
Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests are pulled from.
Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are pulled from.
Information about the radio states for the run.
True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
True if NFC is enabled at the beginning of the test. Otherwise, false.
True if GPS is enabled at the beginning of the test. Otherwise, false.
A list of upload ARNs for app packages to be installed with your app.
Specifies the billing method for a test run: metered
or unmetered
. If the parameter is not specified, the default value is metered
.
Note
If you have purchased unmetered device slots, you must set this parameter to unmetered
to make use of them. Otherwise, your run counts against your metered time.
dict
Response Syntax
{
'compatibleDevices': [
{
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': 'string',
'modelId': 'string',
'formFactor': 'PHONE'|'TABLET',
'platform': 'ANDROID'|'IOS',
'os': 'string',
'cpu': {
'frequency': 'string',
'architecture': 'string',
'clock': 123.0
},
'resolution': {
'width': 123,
'height': 123
},
'heapSize': 123,
'memory': 123,
'image': 'string',
'carrier': 'string',
'radio': 'string',
'remoteAccessEnabled': True|False,
'remoteDebugEnabled': True|False,
'fleetType': 'string',
'fleetName': 'string',
'instances': [
{
'arn': 'string',
'deviceArn': 'string',
'labels': [
'string',
],
'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE',
'udid': 'string',
'instanceProfile': {
'arn': 'string',
'packageCleanup': True|False,
'excludeAppPackagesFromCleanup': [
'string',
],
'rebootAfterUse': True|False,
'name': 'string',
'description': 'string'
}
},
],
'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE'
},
'compatible': True|False,
'incompatibilityMessages': [
{
'message': 'string',
'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'REMOTE_DEBUG_ENABLED'|'APPIUM_VERSION'|'INSTANCE_ARN'|'INSTANCE_LABELS'|'FLEET_TYPE'|'OS_VERSION'|'MODEL'|'AVAILABILITY'
},
]
},
],
'incompatibleDevices': [
{
'device': {
'arn': 'string',
'name': 'string',
'manufacturer': 'string',
'model': 'string',
'modelId': 'string',
'formFactor': 'PHONE'|'TABLET',
'platform': 'ANDROID'|'IOS',
'os': 'string',
'cpu': {
'frequency': 'string',
'architecture': 'string',
'clock': 123.0
},
'resolution': {
'width': 123,
'height': 123
},
'heapSize': 123,
'memory': 123,
'image': 'string',
'carrier': 'string',
'radio': 'string',
'remoteAccessEnabled': True|False,
'remoteDebugEnabled': True|False,
'fleetType': 'string',
'fleetName': 'string',
'instances': [
{
'arn': 'string',
'deviceArn': 'string',
'labels': [
'string',
],
'status': 'IN_USE'|'PREPARING'|'AVAILABLE'|'NOT_AVAILABLE',
'udid': 'string',
'instanceProfile': {
'arn': 'string',
'packageCleanup': True|False,
'excludeAppPackagesFromCleanup': [
'string',
],
'rebootAfterUse': True|False,
'name': 'string',
'description': 'string'
}
},
],
'availability': 'TEMPORARY_NOT_AVAILABLE'|'BUSY'|'AVAILABLE'|'HIGHLY_AVAILABLE'
},
'compatible': True|False,
'incompatibilityMessages': [
{
'message': 'string',
'type': 'ARN'|'PLATFORM'|'FORM_FACTOR'|'MANUFACTURER'|'REMOTE_ACCESS_ENABLED'|'REMOTE_DEBUG_ENABLED'|'APPIUM_VERSION'|'INSTANCE_ARN'|'INSTANCE_LABELS'|'FLEET_TYPE'|'OS_VERSION'|'MODEL'|'AVAILABILITY'
},
]
},
]
}
Response Structure
(dict) --
Represents the result of describe device pool compatibility request.
compatibleDevices (list) --
Information about compatible devices.
(dict) --
Represents a device pool compatibility result.
device (dict) --
The device (phone or tablet) to return information about.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
platform (string) --
The device's platform.
Allowed values include:
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true
if remote debugging is enabled for the device.
Remote debugging is no longer supported.
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true
, Device Farm removes app packages after a test run. The default value is false
for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup
to true
.
rebootAfterUse (boolean) --
When set to true
, Device Farm reboots the instance after a test run. The default value is true
.
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
compatible (boolean) --
Whether the result was compatible with the device pool.
incompatibilityMessages (list) --
Information about the compatibility.
(dict) --
Represents information about incompatibility.
message (string) --
A message about the incompatibility.
type (string) --
The type of incompatibility.
Allowed values include:
incompatibleDevices (list) --
Information about incompatible devices.
(dict) --
Represents a device pool compatibility result.
device (dict) --
The device (phone or tablet) to return information about.
arn (string) --
The device's ARN.
name (string) --
The device's display name.
manufacturer (string) --
The device's manufacturer name.
model (string) --
The device's model name.
modelId (string) --
The device's model ID.
formFactor (string) --
The device's form factor.
Allowed values include:
platform (string) --
The device's platform.
Allowed values include:
os (string) --
The device's operating system type.
cpu (dict) --
Information about the device's CPU.
frequency (string) --
The CPU's frequency.
architecture (string) --
The CPU's architecture (for example, x86 or ARM).
clock (float) --
The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) --
The resolution of the device.
width (integer) --
The screen resolution's width, expressed in pixels.
height (integer) --
The screen resolution's height, expressed in pixels.
heapSize (integer) --
The device's heap size, expressed in bytes.
memory (integer) --
The device's total memory size, expressed in bytes.
image (string) --
The device's image name.
carrier (string) --
The device's carrier.
radio (string) --
The device's radio.
remoteAccessEnabled (boolean) --
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) --
This flag is set to true
if remote debugging is enabled for the device.
Remote debugging is no longer supported.
fleetType (string) --
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) --
The name of the fleet to which this device belongs.
instances (list) --
The instances that belong to this device.
(dict) --
Represents the device instance.
arn (string) --
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) --
The ARN of the device.
labels (list) --
An array of strings that describe the device instance.
status (string) --
The status of the device instance. Valid values are listed here.
udid (string) --
Unique device identifier for the device instance.
instanceProfile (dict) --
A object that contains information about the instance profile.
arn (string) --
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) --
When set to true
, Device Farm removes app packages after a test run. The default value is false
for private devices.
excludeAppPackagesFromCleanup (list) --
An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.
The list of packages is considered only if you set packageCleanup
to true
.
rebootAfterUse (boolean) --
When set to true
, Device Farm reboots the instance after a test run. The default value is true
.
name (string) --
The name of the instance profile.
description (string) --
The description of the instance profile.
availability (string) --
Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.
compatible (boolean) --
Whether the result was compatible with the device pool.
incompatibilityMessages (list) --
Information about the compatibility.
(dict) --
Represents information about incompatibility.
message (string) --
A message about the incompatibility.
type (string) --
The type of incompatibility.
Allowed values include:
Exceptions
DeviceFarm.Client.exceptions.ArgumentException
DeviceFarm.Client.exceptions.NotFoundException
DeviceFarm.Client.exceptions.LimitExceededException
DeviceFarm.Client.exceptions.ServiceAccountException
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': {
'...': '...',
},
}