# 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.
        "iosDeviceCatalog": { # The currently supported iOS devices. # Supported iOS devices.
          "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".
            },
          ],
          "models": [ # The set of supported iOS device models.
            { # A description of an iOS device tests may be run on. Next tag: 13
              "id": "A String", # The unique opaque id for this model. Use this for invoking the TestExecutionService.
              "screenY": 42, # Screen size in the vertical (Y) dimension measured in pixels.
              "screenX": 42, # Screen size in the horizontal (X) dimension measured in pixels.
              "screenDensity": 42, # Screen density in DPI.
              "deviceCapabilities": [ # Device capabilities. Copied from https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
                "A String",
              ],
              "name": "A String", # The human-readable name for this device model. Examples: "iPhone 4s", "iPad Mini 2".
              "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
              "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.
                "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",
                ],
                "name": "A String", # A human-friendly name for this language/locale. Example: "English".
                "id": "A String", # The id for this locale. Example: "en_US".
              },
            ],
            "orientations": [ # The set of available orientations.
              { # Screen orientation of the device.
                "tags": [ # Tags for this dimension. Example: "default".
                  "A String",
                ],
                "id": "A String", # The id for this orientation. Example: "portrait".
                "name": "A String", # A human-friendly name for this orientation. Example: "portrait".
              },
            ],
          },
          "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.
              "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "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",
              ],
            },
          ],
        },
        "networkConfigurationCatalog": { # Supported network configurations.
          "configurations": [
            {
              "upRule": { # Network emulation parameters. # The emulation rule applying to the upload traffic.
                "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
                "bandwidth": 3.14, # Bandwidth in kbits/second.
                "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
                "delay": "A String", # Packet delay, must be >= 0.
                "burst": 3.14, # Burst size in kbits.
              },
              "id": "A String", # The unique opaque id for this network traffic configuration.
              "downRule": { # Network emulation parameters. # The emulation rule applying to the download traffic.
                "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
                "bandwidth": 3.14, # Bandwidth in kbits/second.
                "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
                "delay": "A String", # Packet delay, must be >= 0.
                "burst": 3.14, # Burst size in kbits.
              },
            },
          ],
        },
        "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
              "form": "A String", # Whether this block is used by physical or virtual devices
              "block": "A String", # An IP address block in CIDR notation eg: 34.68.194.64/29
              "addedDate": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. This can represent: * A full date, with non-zero year, month and day values * A month and day value, with a zero year, e.g. an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, e.g. a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The date this block was added to Firebase Test Lab
                "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day.
                "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant.
                "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
              },
            },
          ],
        },
        "softwareCatalog": { # The currently provided software environment on the devices under test. # The software test environment provided by TestExecutionService.
          "orchestratorVersion": "A String", # A string representing the current version of Android Test Orchestrator that is provided by TestExecutionService. Example: "1.0.2 beta".
        },
        "androidDeviceCatalog": { # The currently supported Android devices. # Supported Android devices.
          "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.
                "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",
                ],
                "name": "A String", # A human-friendly name for this language/locale. Example: "English".
                "id": "A String", # The id for this locale. Example: "en_US".
              },
            ],
            "orientations": [ # The set of available orientations.
              { # Screen orientation of the device.
                "tags": [ # Tags for this dimension. Example: "default".
                  "A String",
                ],
                "id": "A String", # The id for this orientation. Example: "portrait".
                "name": "A String", # A human-friendly name for this orientation. Example: "portrait".
              },
            ],
          },
          "versions": [ # The set of supported Android OS versions.
            { # A version of the Android OS.
              "distribution": { # Data about the relative number of devices running a given configuration of the Android platform. # Market share for this version.
                "measurementTime": "A String", # Output only. The time this distribution was measured.
                "marketShare": 3.14, # Output only. The estimated fraction (0-1) of the total market with this configuration.
              },
              "id": "A String", # An opaque id for this Android version. Use this id to invoke the TestExecutionService.
              "versionString": "A String", # A string representing this version of the Android OS. Examples: "4.3", "4.4".
              "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "apiLevel": 42, # The API level for this Android version. Examples: 18, 19.
              "releaseDate": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. This can represent: * A full date, with non-zero year, month and day values * A month and day value, with a zero year, e.g. an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, e.g. a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The date this Android version became available in the market.
                "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day.
                "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant.
                "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
              },
              "codeName": "A String", # The code name for this Android version. Examples: "JellyBean", "KitKat".
            },
          ],
          "models": [ # The set of supported Android device models.
            { # A description of an Android device tests may be run on.
              "screenY": 42, # Screen size in the vertical (Y) dimension measured in pixels.
              "thumbnailUrl": "A String", # URL of a thumbnail image (photo) of the device. e.g. https://lh3.googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...
              "tags": [ # Tags for this dimension. Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "supportedVersionIds": [ # The set of Android versions this device supports.
                "A String",
              ],
              "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",
              ],
              "brand": "A String", # The company that this device is branded with. Example: "Google", "Samsung".
              "name": "A String", # The human-readable marketing name for this device model. Examples: "Nexus 5", "Galaxy S5".
              "manufacturer": "A String", # The manufacturer of this device.
              "codename": "A String", # The name of the industrial design. This corresponds to android.os.Build.DEVICE.
              "screenX": 42, # Screen size in the horizontal (X) dimension measured in pixels.
              "form": "A String", # Whether this device is virtual or physical.
              "screenDensity": 42, # Screen density in DPI. This corresponds to ro.sf.lcd_density
              "id": "A String", # The unique opaque id for this model. Use this for invoking the TestExecutionService.
              "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
              "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.
            },
          ],
        },
      }