# Cloud Testing API . testEnvironmentCatalog

## Instance Methods

Gets the catalog of supported test environments.

### Method Details

`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)
      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.
        "networkConfigurationCatalog": { # Supported network configurations.
          "configurations": [
            {
              "id": "A String", # The unique opaque id for this network traffic configuration.
              "downRule": { # Network emulation parameters. # The emulation rule applying to the download traffic.
                "delay": "A String", # Packet delay, must be >= 0.
                "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
                "bandwidth": 3.14, # Bandwidth in kbits/second.
                "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
                "burst": 3.14, # Burst size in kbits.
              },
              "upRule": { # Network emulation parameters. # The emulation rule applying to the upload traffic.
                "delay": "A String", # Packet delay, must be >= 0.
                "packetLossRatio": 3.14, # Packet loss ratio (0.0 - 1.0).
                "bandwidth": 3.14, # Bandwidth in kbits/second.
                "packetDuplicationRatio": 3.14, # Packet duplication ratio (0.0 - 1.0).
                "burst": 3.14, # Burst size in kbits.
              },
            },
          ],
        },
        "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.
              "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
              "name": "A String", # The human-readable marketing name for this device model.
                  # Examples: "Nexus 5", "Galaxy S5".
              "form": "A String", # Whether this device is virtual or physical.
              "tags": [ # Tags for this dimension.
                  # Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "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.
              "brand": "A String", # The company that this device is branded with.
                  # Example: "Google", "Samsung".
              "supportedVersionIds": [ # The set of Android versions this device supports.
                "A String",
              ],
              "id": "A String", # The unique opaque id for this model.
                  # Use this for invoking the TestExecutionService.
              "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",
              ],
              "screenDensity": 42, # Screen density in DPI.
                  # This corresponds to ro.sf.lcd_density
              "screenY": 42, # Screen size in the vertical (Y) dimension measured in pixels.
              "screenX": 42, # Screen size in the horizontal (X) dimension measured in pixels.
              "codename": "A String", # The name of the industrial design.
                  # This corresponds to android.os.Build.DEVICE.
              "manufacturer": "A String", # The manufacturer of this device.
            },
          ],
          "runtimeConfiguration": { # Android configuration that can be selected at the time a test is run. # The set of supported runtime configurations.
            "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",
                ],
              },
            ],
            "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.
                "id": "A String", # The id for this locale.
                    # Example: "en_US".
                "name": "A String", # A human-friendly name for this language/locale.
                    # Example: "English".
                "tags": [ # Tags for this dimension.
                    # Example: "default".
                  "A String",
                ],
              },
            ],
          },
          "versions": [ # The set of supported Android OS versions.
            { # A version of the Android OS.
              "tags": [ # Tags for this dimension.
                  # Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "distribution": { # Data about the relative number of devices running a # Market share for this version.
                  # given configuration of the Android platform.
                "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.
              },
              "releaseDate": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # The date this Android version became available in the market.
                  # 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`.
                "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.
              },
              "versionString": "A String", # A string representing this version of the Android OS.
                  # Examples: "4.3", "4.4".
              "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".
              "id": "A String", # An opaque id for this Android version.
                  # Use this id to invoke the TestExecutionService.
            },
          ],
        },
        "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.
              "formFactor": "A String", # Whether this device is a phone, tablet, wearable, etc.
              "name": "A String", # The human-readable name for this device model.
                  # Examples: "iPhone 4s", "iPad Mini 2".
              "tags": [ # Tags for this dimension.
                  # Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "supportedVersionIds": [ # The set of iOS major software versions this device supports.
                "A String",
              ],
              "id": "A String", # The unique opaque id for this model.
                  # Use this for invoking the TestExecutionService.
              "deviceCapabilities": [ # Device capabilities.
                  # Copied from
                  # https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
                "A String",
              ],
            },
          ],
          "xcodeVersions": [ # The set of supported Xcode versions.
            { # An Xcode version that an iOS version is compatible with.
              "version": "A String", # The id for this version.
                  # Example: "9.2".
              "tags": [ # Tags for this Xcode version.
                  # Example: "default".
                "A String",
              ],
            },
          ],
          "runtimeConfiguration": { # iOS configuration that can be selected at the time a test is run. # The set of supported runtime configurations.
            "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",
                ],
              },
            ],
            "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.
                "id": "A String", # The id for this locale.
                    # Example: "en_US".
                "name": "A String", # A human-friendly name for this language/locale.
                    # Example: "English".
                "tags": [ # Tags for this dimension.
                    # Example: "default".
                  "A String",
                ],
              },
            ],
          },
          "versions": [ # The set of supported iOS software versions.
            { # An iOS version.
              "majorVersion": 42, # An integer representing the major iOS version.
                  # Examples: "8", "9".
              "tags": [ # Tags for this dimension.
                  # Examples: "default", "preview", "deprecated".
                "A String",
              ],
              "supportedXcodeVersionIds": [ # The available Xcode versions for this version.
                "A String",
              ],
              "id": "A String", # An opaque id for this iOS version.
                  # Use this id to invoke the TestExecutionService.
              "minorVersion": 42, # An integer representing the minor iOS version.
                  # Examples: "1", "2".
            },
          ],
        },
        "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".
        },
      }