# Cloud Testing API . testEnvironmentCatalog

## Instance Methods

Close httplib2 connections.

Gets the catalog of supported test environments. May return any of the following canonical error codes: - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the environment type does not exist - INTERNAL - if an internal error occurred

### Method Details

`close()`

    Close httplib2 connections.

`get(environmentType, projectId=None, x__xgafv=None)`

    Gets the catalog of supported test environments. May return any of the following canonical error codes: - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the environment type does not exist - INTERNAL - if an internal error occurred

    Args:
      environmentType: string, Required. The type of environment that should be listed. (required)
        Allowed values
          ENVIRONMENT_TYPE_UNSPECIFIED - Do not use. For proto versioning only.
          ANDROID - A device running a version of the Android OS.
          IOS - A device running a version of iOS.
          NETWORK_CONFIGURATION - A network configuration to use when running a test.
          PROVIDED_SOFTWARE - The software environment provided by TestExecutionService.
          DEVICE_IP_BLOCKS - The IP blocks used by devices in the test environment.
      projectId: string, For authorization, the cloud project requesting the TestEnvironmentCatalog.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A description of a test environment.
      "androidDeviceCatalog": { # The currently supported Android devices. # Supported Android devices.
        "models": [ # The set of supported Android device models.
          { # A description of an Android device tests may be run on.
            "brand": "A String", # The company that this device is branded with. Example: "Google", "Samsung".
            "codename": "A String", # The name of the industrial design. This corresponds to android.os.Build.DEVICE.
            "form": "A String", # Whether this device is virtual or physical.
            "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
            "id": "A String", # The unique opaque id for this model. Use this for invoking the TestExecutionService.
            "labInfo": { # Lab specific information for a device. # Output only. Lab info of this device.
              "name": "A String", # Lab name where the device is hosted. If empty, the device is hosted in a Google owned lab.
              "regionCode": "A String", # The Unicode country/region code (CLDR) of the lab where the device is hosted. E.g. "US" for United States, "CH" for Switzerland.
            },
            "lowFpsVideoRecording": True or False, # True if and only if tests with this model are recorded by stitching together screenshots. See use_low_spec_video_recording in device config.
            "manufacturer": "A String", # The manufacturer of this device.
            "name": "A String", # The human-readable marketing name for this device model. Examples: "Nexus 5", "Galaxy S5".
            "perVersionInfo": [ # Version-specific information of an Android model.
              { # A version-specific information of an Android model.
                "deviceCapacity": "A String", # The number of online devices for an Android version.
                "directAccessVersionInfo": { # Denotes whether Direct Access is supported, and by which client versions. DirectAccessService is currently available as a preview to select developers. You can register today on behalf of you and your team at https://developer.android.com/studio/preview/android-device-streaming # Output only. Identifies supported clients for DirectAccess for this Android version.
                  "directAccessSupported": True or False, # Whether direct access is supported at all. Clients are expected to filter down the device list to only android models and versions which support Direct Access when that is the user intent.
                  "minimumAndroidStudioVersion": "A String", # Output only. Indicates client-device compatibility, where a device is known to work only with certain workarounds implemented in the Android Studio client. Expected format "major.minor.micro.patch", e.g. "5921.22.2211.8881706".
                },
                "interactiveDeviceAvailabilityEstimate": "A String", # Output only. The estimated wait time for a single interactive device session using Direct Access.
                "versionId": "A String", # An Android version.
              },
            ],
            "screenDensity": 42, # Screen density in DPI. This corresponds to ro.sf.lcd_density
            "screenX": 42, # Screen size in the horizontal (X) dimension measured in pixels.
            "screenY": 42, # Screen size in the vertical (Y) dimension measured in pixels.
            "supportedAbis": [ # The list of supported ABIs for this device. This corresponds to either android.os.Build.SUPPORTED_ABIS (for API level 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2. The most preferred ABI is the first element in the list. Elements are optionally prefixed by "version_id:" (where version_id is the id of an AndroidVersion), denoting an ABI that is supported only on a particular version.
              "A String",
            ],
            "supportedVersionIds": [ # The set of Android versions this device supports.
              "A String",
            ],
            "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
              "A String",
            ],
            "thumbnailUrl": "A String", # URL of a thumbnail image (photo) of the device.
          },
        ],
        "runtimeConfiguration": { # Android configuration that can be selected at the time a test is run. # The set of supported runtime configurations.
          "locales": [ # The set of available locales.
            { # A location/region designation for language.
              "id": "A String", # The id for this locale. Example: "en_US".
              "name": "A String", # A human-friendly name for this language/locale. Example: "English".
              "region": "A String", # A human-friendly string representing the region for this locale. Example: "United States". Not present for every locale.
              "tags": [ # Tags for this dimension. Example: "default".
                "A String",
              ],
            },
          ],
          "orientations": [ # The set of available orientations.
            { # Screen orientation of the device.
              "id": "A String", # The id for this orientation. Example: "portrait".
              "name": "A String", # A human-friendly name for this orientation. Example: "portrait".
              "tags": [ # Tags for this dimension. Example: "default".
                "A String",
              ],
            },
          ],
        },
        "versions": [ # The set of supported Android OS versions.
          { # A version of the Android OS.
            "apiLevel": 42, # The API level for this Android version. Examples: 18, 19.
            "codeName": "A String", # The code name for this Android version. Examples: "JellyBean", "KitKat".
            "distribution": { # Data about the relative number of devices running a given configuration of the Android platform. # Market share for this version.
              "marketShare": 3.14, # Output only. The estimated fraction (0-1) of the total market with this configuration.
              "measurementTime": "A String", # Output only. The time this distribution was measured.
            },
            "id": "A String", # An opaque id for this Android version. Use this id to invoke the TestExecutionService.
            "releaseDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The date this Android version became available in the market.
              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
            },
            "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
              "A String",
            ],
            "versionString": "A String", # A string representing this version of the Android OS. Examples: "4.3", "4.4".
          },
        ],
      },
      "deviceIpBlockCatalog": { # List of IP blocks used by the Firebase Test Lab # The IP blocks used by devices in the test environment.
        "ipBlocks": [ # The device IP blocks used by Firebase Test Lab
          { # A single device IP block
            "addedDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The date this block was added to Firebase Test Lab
              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
            },
            "block": "A String", # An IP address block in CIDR notation eg: 34.68.194.64/29
            "form": "A String", # Whether this block is used by physical or virtual devices
          },
        ],
      },
      "iosDeviceCatalog": { # The currently supported iOS devices. # Supported iOS devices.
        "models": [ # The set of supported iOS device models.
          { # A description of an iOS device tests may be run on.
            "deviceCapabilities": [ # Device capabilities. Copied from https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
              "A String",
            ],
            "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
            "id": "A String", # The unique opaque id for this model. Use this for invoking the TestExecutionService.
            "name": "A String", # The human-readable name for this device model. Examples: "iPhone 4s", "iPad Mini 2".
            "perVersionInfo": [ # Version-specific information of an iOS model.
              { # A version-specific information of an iOS model.
                "deviceCapacity": "A String", # The number of online devices for an iOS version.
                "versionId": "A String", # An iOS version.
              },
            ],
            "screenDensity": 42, # Screen density in DPI.
            "screenX": 42, # Screen size in the horizontal (X) dimension measured in pixels.
            "screenY": 42, # Screen size in the vertical (Y) dimension measured in pixels.
            "supportedVersionIds": [ # The set of iOS major software versions this device supports.
              "A String",
            ],
            "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
              "A String",
            ],
          },
        ],
        "runtimeConfiguration": { # iOS configuration that can be selected at the time a test is run. # The set of supported runtime configurations.
          "locales": [ # The set of available locales.
            { # A location/region designation for language.
              "id": "A String", # The id for this locale. Example: "en_US".
              "name": "A String", # A human-friendly name for this language/locale. Example: "English".
              "region": "A String", # A human-friendly string representing the region for this locale. Example: "United States". Not present for every locale.
              "tags": [ # Tags for this dimension. Example: "default".
                "A String",
              ],
            },
          ],
          "orientations": [ # The set of available orientations.
            { # Screen orientation of the device.
              "id": "A String", # The id for this orientation. Example: "portrait".
              "name": "A String", # A human-friendly name for this orientation. Example: "portrait".
              "tags": [ # Tags for this dimension. Example: "default".
                "A String",
              ],
            },
          ],
        },
        "versions": [ # The set of supported iOS software versions.
          { # An iOS version.
            "id": "A String", # An opaque id for this iOS version. Use this id to invoke the TestExecutionService.
            "majorVersion": 42, # An integer representing the major iOS version. Examples: "8", "9".
            "minorVersion": 42, # An integer representing the minor iOS version. Examples: "1", "2".
            "supportedXcodeVersionIds": [ # The available Xcode versions for this version.
              "A String",
            ],
            "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
              "A String",
            ],
          },
        ],
        "xcodeVersions": [ # The set of supported Xcode versions.
          { # An Xcode version that an iOS version is compatible with.
            "tags": [ # Tags for this Xcode version. Example: "default".
              "A String",
            ],
            "version": "A String", # The id for this version. Example: "9.2".
          },
        ],
      },
      "networkConfigurationCatalog": { # Supported network configurations.
        "configurations": [
          {
            "downRule": { # Network emulation parameters. # The emulation rule applying to the download traffic.
              "bandwidth": 3.14, # Bandwidth in kbits/second.
              "burst": 3.14, # Burst size in kbits.
              "delay": "A String", # Packet delay, must be >= 0.
              "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
              "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
            },
            "id": "A String", # The unique opaque id for this network traffic configuration.
            "upRule": { # Network emulation parameters. # The emulation rule applying to the upload traffic.
              "bandwidth": 3.14, # Bandwidth in kbits/second.
              "burst": 3.14, # Burst size in kbits.
              "delay": "A String", # Packet delay, must be >= 0.
              "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
              "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
            },
          },
        ],
      },
      "softwareCatalog": { # The currently provided software environment on the devices under test. # The software test environment provided by TestExecutionService.
        "androidxOrchestratorVersion": "A String", # A string representing the current version of AndroidX Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#androidx.test:orchestrator.
        "orchestratorVersion": "A String", # Deprecated: Use AndroidX Test Orchestrator going forward. A string representing the current version of Android Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#com.android.support.test:orchestrator.
      },
    }