# 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.
            "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".
            "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".
            "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.
      },
    }