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 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.

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 is false for private devices.

                • excludeAppPackagesFromCleanup (list) –

                  An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.

                  The list of packages is considered only if you set packageCleanup to true .

                  • (string) –

                • rebootAfterUse (boolean) –

                  When set to true , Device Farm reboots the instance after a test run. The default value is true .

                • name (string) –

                  The name of the instance profile.

                • description (string) –

                  The description of the instance profile.

          • availability (string) –

            Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.

        • 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 is false for private devices.

                • excludeAppPackagesFromCleanup (list) –

                  An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.

                  The list of packages is considered only if you set packageCleanup to true .

                  • (string) –

                • rebootAfterUse (boolean) –

                  When set to true , Device Farm reboots the instance after a test run. The default value is true .

                • name (string) –

                  The name of the instance profile.

                • description (string) –

                  The description of the instance profile.

          • availability (string) –

            Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.

        • 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': {
        '...': '...',
    },
}