DeviceFarm / Client / get_device_pool_compatibility
get_device_pool_compatibility#
- 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' } )
- Parameters:
devicePoolArn (string) –
[REQUIRED]
The device pool’s ARN.
appArn (string) – The ARN of the app that is associated with the specified device pool.
testType (string) –
The test type for the specified device pool.
Allowed values include the following:
BUILTIN_FUZZ.
BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT.
APPIUM_JAVA_TESTNG.
APPIUM_PYTHON.
APPIUM_NODE.
APPIUM_RUBY.
APPIUM_WEB_JAVA_JUNIT.
APPIUM_WEB_JAVA_TESTNG.
APPIUM_WEB_PYTHON.
APPIUM_WEB_NODE.
APPIUM_WEB_RUBY.
CALABASH.
INSTRUMENTATION.
UIAUTOMATION.
UIAUTOMATOR.
XCTEST.
XCTEST_UI.
test (dict) –
Information about the uploaded test to be run against the device pool.
type (string) – [REQUIRED]
The test’s type.
Must be one of the following values:
BUILTIN_FUZZ
BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT
APPIUM_JAVA_TESTNG
APPIUM_PYTHON
APPIUM_NODE
APPIUM_RUBY
APPIUM_WEB_JAVA_JUNIT
APPIUM_WEB_JAVA_TESTNG
APPIUM_WEB_PYTHON
APPIUM_WEB_NODE
APPIUM_WEB_RUBY
CALABASH
INSTRUMENTATION
UIAUTOMATION
UIAUTOMATOR
XCTEST
XCTEST_UI
testPackageArn (string) –
The ARN of the uploaded test to be run.
testSpecArn (string) –
The ARN of the YAML-formatted test specification.
filter (string) –
The test’s filter.
parameters (dict) –
The test’s parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.
For all tests:
app_performance_monitoring
: Performance monitoring is enabled by default. Set this parameter to false to disable it.
For Calabash tests:
profile: A cucumber profile (for example,
my_profile_name
).tags: You can limit execution to features or scenarios that have (or don’t have) certain tags (for example, @smoke or @smoke,~@wip).
For Appium tests (all types):
appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.
latest runs the latest Appium version supported by Device Farm (1.9.1).
For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.
This behavior is subject to change.
For fuzz tests (Android only):
event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.
throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.
seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.
For Explorer tests:
username: A user name to use if the Explorer encounters a login form. If not supplied, no user name is inserted.
password: A password to use if the Explorer encounters a login form. If not supplied, no password is inserted.
For Instrumentation:
filter: A test filter string. Examples:
Running a single test case:
com.android.abc.Test1
Running a single test:
com.android.abc.Test1#smoke
Running multiple tests:
com.android.abc.Test1,com.android.abc.Test2
For XCTest and XCTestUI:
filter: A test filter string. Examples:
Running a single test class:
LoginTests
Running a multiple test classes:
LoginTests,SmokeTests
Running a single test:
LoginTests/testValid
Running multiple tests:
LoginTests/testValid,LoginTests/testInvalid
For UIAutomator:
filter: A test filter string. Examples:
Running a single test case:
com.android.abc.Test1
Running a single test:
com.android.abc.Test1#smoke
Running multiple tests:
com.android.abc.Test1,com.android.abc.Test2
(string) –
(string) –
configuration (dict) –
An object that contains information about the settings for a run.
extraDataPackageArn (string) –
The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to external data for Android or the app’s sandbox for iOS.
networkProfileArn (string) –
Reserved for internal use.
locale (string) –
Information about the locale that is used for the run.
location (dict) –
Information about the location that is used for the run.
latitude (float) – [REQUIRED]
The latitude.
longitude (float) – [REQUIRED]
The longitude.
vpceConfigurationArns (list) –
An array of ARNs for your VPC endpoint configurations.
(string) –
customerArtifactPaths (dict) –
Input
CustomerArtifactPaths
object for the scheduled run configuration.iosPaths (list) –
Comma-separated list of paths on the iOS device where the artifacts generated by the customer’s tests are pulled from.
(string) –
androidPaths (list) –
Comma-separated list of paths on the Android device where the artifacts generated by the customer’s tests are pulled from.
(string) –
deviceHostPaths (list) –
Comma-separated list of paths in the test execution environment where the artifacts generated by the customer’s tests are pulled from.
(string) –
radios (dict) –
Information about the radio states for the run.
wifi (boolean) –
True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
bluetooth (boolean) –
True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
nfc (boolean) –
True if NFC is enabled at the beginning of the test. Otherwise, false.
gps (boolean) –
True if GPS is enabled at the beginning of the test. Otherwise, false.
auxiliaryApps (list) –
A list of upload ARNs for app packages to be installed with your app.
(string) –
billingMethod (string) –
Specifies the billing method for a test run:
metered
orunmetered
. If the parameter is not specified, the default value ismetered
.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.
- Return type:
dict
- Returns:
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:
PHONE
TABLET
platform (string) –
The device’s platform.
Allowed values include:
ANDROID
IOS
os (string) –
The device’s operating system type.
cpu (dict) –
Information about the device’s CPU.
frequency (string) –
The CPU’s frequency.
architecture (string) –
The CPU’s architecture (for example, x86 or ARM).
clock (float) –
The clock speed of the device’s CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) –
The resolution of the device.
width (integer) –
The screen resolution’s width, expressed in pixels.
height (integer) –
The screen resolution’s height, expressed in pixels.
heapSize (integer) –
The device’s heap size, expressed in bytes.
memory (integer) –
The device’s total memory size, expressed in bytes.
image (string) –
The device’s image name.
carrier (string) –
The device’s carrier.
radio (string) –
The device’s radio.
remoteAccessEnabled (boolean) –
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) –
This flag is set to
true
if remote debugging is enabled for the device.Remote debugging is no longer supported.
fleetType (string) –
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) –
The name of the fleet to which this device belongs.
instances (list) –
The instances that belong to this device.
(dict) –
Represents the device instance.
arn (string) –
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) –
The ARN of the device.
labels (list) –
An array of strings that describe the device instance.
(string) –
status (string) –
The status of the device instance. Valid values are listed here.
udid (string) –
Unique device identifier for the device instance.
instanceProfile (dict) –
A object that contains information about the instance profile.
arn (string) –
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) –
When set to
true
, Device Farm removes app packages after a test run. The default value isfalse
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
totrue
.(string) –
rebootAfterUse (boolean) –
When set to
true
, Device Farm reboots the instance after a test run. The default value istrue
.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:
ARN
FORM_FACTOR (for example, phone or tablet)
MANUFACTURER
PLATFORM (for example, Android or iOS)
REMOTE_ACCESS_ENABLED
APPIUM_VERSION
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:
PHONE
TABLET
platform (string) –
The device’s platform.
Allowed values include:
ANDROID
IOS
os (string) –
The device’s operating system type.
cpu (dict) –
Information about the device’s CPU.
frequency (string) –
The CPU’s frequency.
architecture (string) –
The CPU’s architecture (for example, x86 or ARM).
clock (float) –
The clock speed of the device’s CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.
resolution (dict) –
The resolution of the device.
width (integer) –
The screen resolution’s width, expressed in pixels.
height (integer) –
The screen resolution’s height, expressed in pixels.
heapSize (integer) –
The device’s heap size, expressed in bytes.
memory (integer) –
The device’s total memory size, expressed in bytes.
image (string) –
The device’s image name.
carrier (string) –
The device’s carrier.
radio (string) –
The device’s radio.
remoteAccessEnabled (boolean) –
Specifies whether remote access has been enabled for the specified device.
remoteDebugEnabled (boolean) –
This flag is set to
true
if remote debugging is enabled for the device.Remote debugging is no longer supported.
fleetType (string) –
The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.
fleetName (string) –
The name of the fleet to which this device belongs.
instances (list) –
The instances that belong to this device.
(dict) –
Represents the device instance.
arn (string) –
The Amazon Resource Name (ARN) of the device instance.
deviceArn (string) –
The ARN of the device.
labels (list) –
An array of strings that describe the device instance.
(string) –
status (string) –
The status of the device instance. Valid values are listed here.
udid (string) –
Unique device identifier for the device instance.
instanceProfile (dict) –
A object that contains information about the instance profile.
arn (string) –
The Amazon Resource Name (ARN) of the instance profile.
packageCleanup (boolean) –
When set to
true
, Device Farm removes app packages after a test run. The default value isfalse
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
totrue
.(string) –
rebootAfterUse (boolean) –
When set to
true
, Device Farm reboots the instance after a test run. The default value istrue
.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:
ARN
FORM_FACTOR (for example, phone or tablet)
MANUFACTURER
PLATFORM (for example, Android or iOS)
REMOTE_ACCESS_ENABLED
APPIUM_VERSION
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': { '...': '...', }, }