{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/cloud-platform.read-only": {
          "description": "View your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://testing.googleapis.com/",
  "batchPath": "batch",
  "description": "Allows developers to run automated tests for their mobile applications on Google infrastructure.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/cloud-test-lab/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "testing:v1",
  "kind": "discovery#restDescription",
  "name": "testing",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "applicationDetailService": {
      "methods": {
        "getApkDetails": {
          "description": "Gets the details of an Android application APK.",
          "flatPath": "v1/applicationDetailService/getApkDetails",
          "httpMethod": "POST",
          "id": "testing.applicationDetailService.getApkDetails",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/applicationDetailService/getApkDetails",
          "request": {
            "$ref": "FileReference"
          },
          "response": {
            "$ref": "GetApkDetailsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "projects": {
      "resources": {
        "testMatrices": {
          "methods": {
            "cancel": {
              "description": "Cancels unfinished test executions in a test matrix.\nThis call returns immediately and cancellation proceeds asychronously.\nIf the matrix is already final, this operation will have no effect.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist",
              "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel",
              "httpMethod": "POST",
              "id": "testing.projects.testMatrices.cancel",
              "parameterOrder": [
                "projectId",
                "testMatrixId"
              ],
              "parameters": {
                "projectId": {
                  "description": "Cloud project that owns the test.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "testMatrixId": {
                  "description": "Test matrix that will be canceled.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel",
              "response": {
                "$ref": "CancelTestMatrixResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "create": {
              "description": "Creates and runs a matrix of tests according to the given specifications.\nUnsupported environments will be returned in the state UNSUPPORTED.\nMatrices are limited to at most 200 supported executions.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project\n- INVALID_ARGUMENT - if the request is malformed or if the matrix expands\n                     to more than 200 supported executions",
              "flatPath": "v1/projects/{projectId}/testMatrices",
              "httpMethod": "POST",
              "id": "testing.projects.testMatrices.create",
              "parameterOrder": [
                "projectId"
              ],
              "parameters": {
                "projectId": {
                  "description": "The GCE project under which this job will run.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "requestId": {
                  "description": "A string id used to detect duplicated requests.\nIds are automatically scoped to a project, so\nusers should ensure the ID is unique per-project.\nA UUID is recommended.\n\nOptional, but strongly recommended.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/projects/{projectId}/testMatrices",
              "request": {
                "$ref": "TestMatrix"
              },
              "response": {
                "$ref": "TestMatrix"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Checks the status of a test matrix.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist",
              "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}",
              "httpMethod": "GET",
              "id": "testing.projects.testMatrices.get",
              "parameterOrder": [
                "projectId",
                "testMatrixId"
              ],
              "parameters": {
                "projectId": {
                  "description": "Cloud project that owns the test matrix.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "testMatrixId": {
                  "description": "Unique test matrix id which was assigned by the service.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}",
              "response": {
                "$ref": "TestMatrix"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/cloud-platform.read-only"
              ]
            }
          }
        }
      }
    },
    "testEnvironmentCatalog": {
      "methods": {
        "get": {
          "description": "Gets the catalog of supported test environments.\n\nMay return any of the following canonical error codes:\n\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the environment type does not exist\n- INTERNAL - if an internal error occurred",
          "flatPath": "v1/testEnvironmentCatalog/{environmentType}",
          "httpMethod": "GET",
          "id": "testing.testEnvironmentCatalog.get",
          "parameterOrder": [
            "environmentType"
          ],
          "parameters": {
            "environmentType": {
              "description": "Required. The type of environment that should be listed.",
              "enum": [
                "ENVIRONMENT_TYPE_UNSPECIFIED",
                "ANDROID",
                "IOS",
                "NETWORK_CONFIGURATION",
                "PROVIDED_SOFTWARE"
              ],
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "For authorization, the cloud project requesting the TestEnvironmentCatalog.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/testEnvironmentCatalog/{environmentType}",
          "response": {
            "$ref": "TestEnvironmentCatalog"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/cloud-platform.read-only"
          ]
        }
      }
    }
  },
  "revision": "20190924",
  "rootUrl": "https://testing.googleapis.com/",
  "schemas": {
    "Account": {
      "description": "Identifies an account and how to log into it.",
      "id": "Account",
      "properties": {
        "googleAuto": {
          "$ref": "GoogleAuto",
          "description": "An automatic google login account."
        }
      },
      "type": "object"
    },
    "AndroidDevice": {
      "description": "A single Android device.",
      "id": "AndroidDevice",
      "properties": {
        "androidModelId": {
          "description": "Required. The id of the Android device to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "androidVersionId": {
          "description": "Required. The id of the Android OS version to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "locale": {
          "description": "Required. The locale the test device used for testing.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "orientation": {
          "description": "Required. How the device is oriented during the test.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AndroidDeviceCatalog": {
      "description": "The currently supported Android devices.",
      "id": "AndroidDeviceCatalog",
      "properties": {
        "models": {
          "description": "The set of supported Android device models.",
          "items": {
            "$ref": "AndroidModel"
          },
          "type": "array"
        },
        "runtimeConfiguration": {
          "$ref": "AndroidRuntimeConfiguration",
          "description": "The set of supported runtime configurations."
        },
        "versions": {
          "description": "The set of supported Android OS versions.",
          "items": {
            "$ref": "AndroidVersion"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidDeviceList": {
      "description": "A list of Android device configurations in which the test is to be executed.",
      "id": "AndroidDeviceList",
      "properties": {
        "androidDevices": {
          "description": "Required. A list of Android devices.",
          "items": {
            "$ref": "AndroidDevice"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidInstrumentationTest": {
      "description": "A test of an Android application that can control an Android component\nindependently of its normal lifecycle.\nAndroid instrumentation tests run an application APK and test APK inside the\nsame process on a virtual or physical AndroidDevice.  They also specify\na test runner class, such as com.google.GoogleTestRunner, which can vary\non the specific instrumentation framework chosen.\n\nSee \u003chttp://developer.android.com/tools/testing/testing_android.html\u003e for\nmore information on types of Android tests.",
      "id": "AndroidInstrumentationTest",
      "properties": {
        "appApk": {
          "$ref": "FileReference",
          "description": "The APK for the application under test."
        },
        "appBundle": {
          "$ref": "AppBundle",
          "description": "A multi-apk app bundle for the application under test."
        },
        "appPackageId": {
          "description": "The java package for the application under test.\nThe default value is determined by examining the application's manifest.",
          "type": "string"
        },
        "orchestratorOption": {
          "description": "The option of whether running each test within its own invocation of\ninstrumentation with Android Test Orchestrator or not.\n** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or\nhigher! **\nOrchestrator offers the following benefits:\n - No shared state\n - Crashes are isolated\n - Logs are scoped per test\n\nSee\n\u003chttps://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator\u003e\nfor more information about Android Test Orchestrator.\n\nIf not set, the test will be run without the orchestrator.",
          "enum": [
            "ORCHESTRATOR_OPTION_UNSPECIFIED",
            "USE_ORCHESTRATOR",
            "DO_NOT_USE_ORCHESTRATOR"
          ],
          "enumDescriptions": [
            "Default value: the server will choose the mode. Currently implies that\nthe test will run without the orchestrator. In the future,\nall instrumentation tests will be run with the orchestrator.\nUsing the orchestrator is highly encouraged because of all the benefits it\noffers.",
            "Run test using orchestrator.\n** Only compatible with AndroidJUnitRunner version 1.0 or higher! **\nRecommended.",
            "Run test without using orchestrator."
          ],
          "type": "string"
        },
        "testApk": {
          "$ref": "FileReference",
          "description": "Required. The APK containing the test code to be executed."
        },
        "testPackageId": {
          "description": "The java package for the test to be executed.\nThe default value is determined by examining the application's manifest.",
          "type": "string"
        },
        "testRunnerClass": {
          "description": "The InstrumentationTestRunner class.\nThe default value is determined by examining the application's manifest.",
          "type": "string"
        },
        "testTargets": {
          "description": "Each target must be fully qualified with the package name or class name,\nin one of these formats:\n - \"package package_name\"\n - \"class package_name.class_name\"\n - \"class package_name.class_name#method_name\"\n\nIf empty, all targets in the module will be run.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidMatrix": {
      "description": "A set of Android device configuration permutations is defined by the\nthe cross-product of the given axes. Internally, the given AndroidMatrix\nwill be expanded into a set of AndroidDevices.\n\nOnly supported permutations will be instantiated.  Invalid permutations\n(e.g., incompatible models/versions) are ignored.",
      "id": "AndroidMatrix",
      "properties": {
        "androidModelIds": {
          "description": "Required. The ids of the set of Android device to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "androidVersionIds": {
          "description": "Required. The ids of the set of Android OS version to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locales": {
          "description": "Required. The set of locales the test device will enable for testing.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "orientations": {
          "description": "Required. The set of orientations to test with.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidModel": {
      "description": "A description of an Android device tests may be run on.",
      "id": "AndroidModel",
      "properties": {
        "brand": {
          "description": "The company that this device is branded with.\nExample: \"Google\", \"Samsung\".",
          "type": "string"
        },
        "codename": {
          "description": "The name of the industrial design.\nThis corresponds to android.os.Build.DEVICE.",
          "type": "string"
        },
        "form": {
          "description": "Whether this device is virtual or physical.",
          "enum": [
            "DEVICE_FORM_UNSPECIFIED",
            "VIRTUAL",
            "PHYSICAL"
          ],
          "enumDescriptions": [
            "Do not use.  For proto versioning only.",
            "A software stack that simulates the device.",
            "Actual hardware."
          ],
          "type": "string"
        },
        "formFactor": {
          "description": "Whether this device is a phone, tablet, wearable, etc.",
          "enum": [
            "DEVICE_FORM_FACTOR_UNSPECIFIED",
            "PHONE",
            "TABLET",
            "WEARABLE"
          ],
          "enumDescriptions": [
            "Do not use. For proto versioning only.",
            "This device has the shape of a phone.",
            "This device has the shape of a tablet.",
            "This device has the shape of a watch or other wearable."
          ],
          "type": "string"
        },
        "id": {
          "description": "The unique opaque id for this model.\nUse this for invoking the TestExecutionService.",
          "type": "string"
        },
        "lowFpsVideoRecording": {
          "description": "True if and only if tests with this model are recorded by stitching\ntogether screenshots. See use_low_spec_video_recording in device config.",
          "type": "boolean"
        },
        "manufacturer": {
          "description": "The manufacturer of this device.",
          "type": "string"
        },
        "name": {
          "description": "The human-readable marketing name for this device model.\nExamples: \"Nexus 5\", \"Galaxy S5\".",
          "type": "string"
        },
        "screenDensity": {
          "description": "Screen density in DPI.\nThis corresponds to ro.sf.lcd_density",
          "format": "int32",
          "type": "integer"
        },
        "screenX": {
          "description": "Screen size in the horizontal (X) dimension measured in pixels.",
          "format": "int32",
          "type": "integer"
        },
        "screenY": {
          "description": "Screen size in the vertical (Y) dimension measured in pixels.",
          "format": "int32",
          "type": "integer"
        },
        "supportedAbis": {
          "description": "The list of supported ABIs for this device.\nThis corresponds to either android.os.Build.SUPPORTED_ABIS (for API level\n21 and above) or android.os.Build.CPU_ABI/CPU_ABI2.\nThe most preferred ABI is the first element in the list.\n\nElements are optionally prefixed by \"version_id:\" (where version_id is\nthe id of an AndroidVersion), denoting an ABI that is supported only on\na particular version.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "supportedVersionIds": {
          "description": "The set of Android versions this device supports.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidRoboTest": {
      "description": "A test of an android application that explores the application on a virtual\nor physical Android Device, finding culprits and crashes as it goes.",
      "id": "AndroidRoboTest",
      "properties": {
        "appApk": {
          "$ref": "FileReference",
          "description": "The APK for the application under test."
        },
        "appBundle": {
          "$ref": "AppBundle",
          "description": "A multi-apk app bundle for the application under test."
        },
        "appInitialActivity": {
          "description": "The initial activity that should be used to start the app.",
          "type": "string"
        },
        "appPackageId": {
          "description": "The java package for the application under test.\nThe default value is determined by examining the application's manifest.",
          "type": "string"
        },
        "maxDepth": {
          "description": "The max depth of the traversal stack Robo can explore. Needs to be at least\n2 to make Robo explore the app beyond the first activity.\nDefault is 50.",
          "format": "int32",
          "type": "integer"
        },
        "maxSteps": {
          "description": "The max number of steps Robo can execute.\nDefault is no limit.",
          "format": "int32",
          "type": "integer"
        },
        "roboDirectives": {
          "description": "A set of directives Robo should apply during the crawl.\nThis allows users to customize the crawl. For example, the username and\npassword for a test account can be provided.",
          "items": {
            "$ref": "RoboDirective"
          },
          "type": "array"
        },
        "roboScript": {
          "$ref": "FileReference",
          "description": "A JSON file with a sequence of actions Robo should perform as a prologue\nfor the crawl."
        },
        "startingIntents": {
          "description": "The intents used to launch the app for the crawl.\nIf none are provided, then the main launcher activity is launched.\nIf some are provided, then only those provided are launched (the main\nlauncher activity must be provided explicitly).",
          "items": {
            "$ref": "RoboStartingIntent"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidRuntimeConfiguration": {
      "description": "Android configuration that can be selected at the time a test is run.",
      "id": "AndroidRuntimeConfiguration",
      "properties": {
        "locales": {
          "description": "The set of available locales.",
          "items": {
            "$ref": "Locale"
          },
          "type": "array"
        },
        "orientations": {
          "description": "The set of available orientations.",
          "items": {
            "$ref": "Orientation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidTestLoop": {
      "description": "A test of an Android Application with a Test Loop.\nThe intent \\\u003cintent-name\\\u003e will be implicitly added, since Games is the only\nuser of this api, for the time being.",
      "id": "AndroidTestLoop",
      "properties": {
        "appApk": {
          "$ref": "FileReference",
          "description": "The APK for the application under test."
        },
        "appBundle": {
          "$ref": "AppBundle",
          "description": "A multi-apk app bundle for the application under test."
        },
        "appPackageId": {
          "description": "The java package for the application under test.\nThe default is determined by examining the application's manifest.",
          "type": "string"
        },
        "scenarioLabels": {
          "description": "The list of scenario labels that should be run during the test.\nThe scenario labels should map to labels defined in the application's\nmanifest. For example, player_experience and\ncom.google.test.loops.player_experience add all of the loops labeled in the\nmanifest with the com.google.test.loops.player_experience name to the\nexecution.\nScenarios can also be specified in the scenarios field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "scenarios": {
          "description": "The list of scenarios that should be run during the test.\nThe default is all test loops, derived from the application's\nmanifest.",
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AndroidVersion": {
      "description": "A version of the Android OS.",
      "id": "AndroidVersion",
      "properties": {
        "apiLevel": {
          "description": "The API level for this Android version.\nExamples: 18, 19.",
          "format": "int32",
          "type": "integer"
        },
        "codeName": {
          "description": "The code name for this Android version.\nExamples: \"JellyBean\", \"KitKat\".",
          "type": "string"
        },
        "distribution": {
          "$ref": "Distribution",
          "description": "Market share for this version."
        },
        "id": {
          "description": "An opaque id for this Android version.\nUse this id to invoke the TestExecutionService.",
          "type": "string"
        },
        "releaseDate": {
          "$ref": "Date",
          "description": "The date this Android version became available in the market."
        },
        "tags": {
          "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "versionString": {
          "description": "A string representing this version of the Android OS.\nExamples: \"4.3\", \"4.4\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Apk": {
      "description": "An Android package file to install.",
      "id": "Apk",
      "properties": {
        "location": {
          "$ref": "FileReference",
          "description": "The path to an APK to be installed on the device before the test begins."
        },
        "packageName": {
          "description": "The java package for the APK to be installed.\nValue is determined by examining the application's manifest.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApkDetail": {
      "description": "Android application details based on application manifest and apk archive\ncontents.",
      "id": "ApkDetail",
      "properties": {
        "apkManifest": {
          "$ref": "ApkManifest"
        }
      },
      "type": "object"
    },
    "ApkManifest": {
      "description": "An Android app manifest. See\nhttp://developer.android.com/guide/topics/manifest/manifest-intro.html",
      "id": "ApkManifest",
      "properties": {
        "applicationLabel": {
          "description": "User-readable name for the application.",
          "type": "string"
        },
        "intentFilters": {
          "items": {
            "$ref": "IntentFilter"
          },
          "type": "array"
        },
        "maxSdkVersion": {
          "description": "Maximum API level on which the application is designed to run.",
          "format": "int32",
          "type": "integer"
        },
        "minSdkVersion": {
          "description": "Minimum API level required for the application to run.",
          "format": "int32",
          "type": "integer"
        },
        "packageName": {
          "description": "Full Java-style package name for this application, e.g.\n\"com.example.foo\".",
          "type": "string"
        },
        "targetSdkVersion": {
          "description": "Specifies the API Level on which the application is designed to run.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AppBundle": {
      "description": "An Android App Bundle file format, containing a BundleConfig.pb file,\na base module directory, zero or more dynamic feature module directories.\n\u003cp\u003eSee https://developer.android.com/guide/app-bundle/build for guidance on\nbuilding App Bundles.",
      "id": "AppBundle",
      "properties": {
        "bundleLocation": {
          "$ref": "FileReference",
          "description": ".aab file representing the app bundle under test."
        }
      },
      "type": "object"
    },
    "CancelTestMatrixResponse": {
      "description": "Response containing the current state of the specified test matrix.",
      "id": "CancelTestMatrixResponse",
      "properties": {
        "testState": {
          "description": "The current rolled-up state of the test matrix.\nIf this state is already final, then the cancelation request will\nhave no effect.",
          "enum": [
            "TEST_STATE_UNSPECIFIED",
            "VALIDATING",
            "PENDING",
            "RUNNING",
            "FINISHED",
            "ERROR",
            "UNSUPPORTED_ENVIRONMENT",
            "INCOMPATIBLE_ENVIRONMENT",
            "INCOMPATIBLE_ARCHITECTURE",
            "CANCELLED",
            "INVALID"
          ],
          "enumDescriptions": [
            "Do not use.  For proto versioning only.",
            "The execution or matrix is being validated.",
            "The execution or matrix is waiting for resources to become available.",
            "The execution is currently being processed.\n\nCan only be set on an execution.",
            "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.",
            "The execution or matrix has stopped because it encountered an\ninfrastructure failure.",
            "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.",
            "The user cancelled the execution.\n\nCan only be set on an execution.",
            "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ClientInfo": {
      "description": "Information about the client which invoked the test.",
      "id": "ClientInfo",
      "properties": {
        "clientInfoDetails": {
          "description": "The list of detailed information about client.",
          "items": {
            "$ref": "ClientInfoDetail"
          },
          "type": "array"
        },
        "name": {
          "description": "Required. Client name, such as gcloud.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ClientInfoDetail": {
      "description": "Key-value pair of detailed information about the client which invoked the\ntest. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.",
      "id": "ClientInfoDetail",
      "properties": {
        "key": {
          "description": "Required. The key of detailed client information.",
          "type": "string"
        },
        "value": {
          "description": "Required. The value of detailed client information.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
      "id": "Date",
      "properties": {
        "day": {
          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.",
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DeviceFile": {
      "description": "A single device file description.",
      "id": "DeviceFile",
      "properties": {
        "obbFile": {
          "$ref": "ObbFile",
          "description": "A reference to an opaque binary blob file."
        },
        "regularFile": {
          "$ref": "RegularFile",
          "description": "A reference to a regular file."
        }
      },
      "type": "object"
    },
    "Distribution": {
      "description": "Data about the relative number of devices running a\ngiven configuration of the Android platform.",
      "id": "Distribution",
      "properties": {
        "marketShare": {
          "description": "Output only. The estimated fraction (0-1) of the total market with this\nconfiguration.",
          "format": "double",
          "type": "number"
        },
        "measurementTime": {
          "description": "Output only. The time this distribution was measured.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Environment": {
      "description": "The environment in which the test is run.",
      "id": "Environment",
      "properties": {
        "androidDevice": {
          "$ref": "AndroidDevice",
          "description": "An Android device which must be used with an Android test."
        },
        "iosDevice": {
          "$ref": "IosDevice",
          "description": "An iOS device which must be used with an iOS test."
        }
      },
      "type": "object"
    },
    "EnvironmentMatrix": {
      "description": "The matrix of environments in which the test is to be executed.",
      "id": "EnvironmentMatrix",
      "properties": {
        "androidDeviceList": {
          "$ref": "AndroidDeviceList",
          "description": "A list of Android devices; the test will be run only on the specified\ndevices."
        },
        "androidMatrix": {
          "$ref": "AndroidMatrix",
          "description": "A matrix of Android devices."
        },
        "iosDeviceList": {
          "$ref": "IosDeviceList",
          "description": "A list of iOS devices."
        }
      },
      "type": "object"
    },
    "EnvironmentVariable": {
      "description": "A key-value pair passed as an environment variable to the test.",
      "id": "EnvironmentVariable",
      "properties": {
        "key": {
          "description": "Key for the environment variable.",
          "type": "string"
        },
        "value": {
          "description": "Value for the environment variable.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FileReference": {
      "description": "A reference to a file, used for user inputs.",
      "id": "FileReference",
      "properties": {
        "gcsPath": {
          "description": "A path to a file in Google Cloud Storage.\nExample: gs://build-app-1414623860166/app-debug-unaligned.apk",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GetApkDetailsResponse": {
      "description": "Response containing the details of the specified Android application APK.",
      "id": "GetApkDetailsResponse",
      "properties": {
        "apkDetail": {
          "$ref": "ApkDetail",
          "description": "Details of the Android APK."
        }
      },
      "type": "object"
    },
    "GoogleAuto": {
      "description": "Enables automatic Google account login.\nIf set, the service automatically generates a Google test account and adds\nit to the device, before executing the test. Note that test accounts might be\nreused.\nMany applications show their full set of functionalities when an account is\npresent on the device. Logging into the device with these generated accounts\nallows testing more functionalities.",
      "id": "GoogleAuto",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudStorage": {
      "description": "A storage location within Google cloud storage (GCS).",
      "id": "GoogleCloudStorage",
      "properties": {
        "gcsPath": {
          "description": "Required. The path to a directory in GCS that will\neventually contain the results for this test.\nThe requesting user must have write access on the bucket in the supplied\npath.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IntentFilter": {
      "description": "The \u003cintent-filter\u003e section of an \u003cactivity\u003e tag.\nhttps://developer.android.com/guide/topics/manifest/intent-filter-element.html",
      "id": "IntentFilter",
      "properties": {
        "actionNames": {
          "description": "The android:name value of the \u003caction\u003e tag.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "categoryNames": {
          "description": "The android:name value of the \u003ccategory\u003e tag.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "mimeType": {
          "description": "The android:mimeType value of the \u003cdata\u003e tag.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IosDevice": {
      "description": "A single iOS device.",
      "id": "IosDevice",
      "properties": {
        "iosModelId": {
          "description": "Required. The id of the iOS device to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "iosVersionId": {
          "description": "Required. The id of the iOS major software version to be used.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "locale": {
          "description": "Required. The locale the test device used for testing.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        },
        "orientation": {
          "description": "Required. How the device is oriented during the test.\nUse the TestEnvironmentDiscoveryService to get supported options.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IosDeviceCatalog": {
      "description": "The currently supported iOS devices.",
      "id": "IosDeviceCatalog",
      "properties": {
        "models": {
          "description": "The set of supported iOS device models.",
          "items": {
            "$ref": "IosModel"
          },
          "type": "array"
        },
        "runtimeConfiguration": {
          "$ref": "IosRuntimeConfiguration",
          "description": "The set of supported runtime configurations."
        },
        "versions": {
          "description": "The set of supported iOS software versions.",
          "items": {
            "$ref": "IosVersion"
          },
          "type": "array"
        },
        "xcodeVersions": {
          "description": "The set of supported Xcode versions.",
          "items": {
            "$ref": "XcodeVersion"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosDeviceList": {
      "description": "A list of iOS device configurations in which the test is to be executed.",
      "id": "IosDeviceList",
      "properties": {
        "iosDevices": {
          "description": "Required. A list of iOS devices.",
          "items": {
            "$ref": "IosDevice"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosModel": {
      "description": "A description of an iOS device tests may be run on.\nNext tag: 10",
      "id": "IosModel",
      "properties": {
        "deviceCapabilities": {
          "description": "Device capabilities.\nCopied from\nhttps://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "formFactor": {
          "description": "Whether this device is a phone, tablet, wearable, etc.",
          "enum": [
            "DEVICE_FORM_FACTOR_UNSPECIFIED",
            "PHONE",
            "TABLET",
            "WEARABLE"
          ],
          "enumDescriptions": [
            "Do not use. For proto versioning only.",
            "This device has the shape of a phone.",
            "This device has the shape of a tablet.",
            "This device has the shape of a watch or other wearable."
          ],
          "type": "string"
        },
        "id": {
          "description": "The unique opaque id for this model.\nUse this for invoking the TestExecutionService.",
          "type": "string"
        },
        "name": {
          "description": "The human-readable name for this device model.\nExamples: \"iPhone 4s\", \"iPad Mini 2\".",
          "type": "string"
        },
        "screenDensity": {
          "description": "Screen density in DPI.",
          "format": "int32",
          "type": "integer"
        },
        "screenX": {
          "description": "Screen size in the horizontal (X) dimension measured in pixels.",
          "format": "int32",
          "type": "integer"
        },
        "screenY": {
          "description": "Screen size in the vertical (Y) dimension measured in pixels.",
          "format": "int32",
          "type": "integer"
        },
        "supportedVersionIds": {
          "description": "The set of iOS major software versions this device supports.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosRuntimeConfiguration": {
      "description": "iOS configuration that can be selected at the time a test is run.",
      "id": "IosRuntimeConfiguration",
      "properties": {
        "locales": {
          "description": "The set of available locales.",
          "items": {
            "$ref": "Locale"
          },
          "type": "array"
        },
        "orientations": {
          "description": "The set of available orientations.",
          "items": {
            "$ref": "Orientation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosTestLoop": {
      "description": "A test of an iOS application that implements one or more game loop scenarios.\nThis test type accepts an archived application (.ipa file) and a list of\ninteger scenarios that will be executed on the app sequentially.",
      "id": "IosTestLoop",
      "properties": {
        "appBundleId": {
          "description": "Output only. The bundle id for the application under test.",
          "type": "string"
        },
        "appIpa": {
          "$ref": "FileReference",
          "description": "Required. The .ipa of the application to test."
        },
        "scenarios": {
          "description": "The list of scenarios that should be run during the test. Defaults to the\nsingle scenario 0 if unspecified.",
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosTestSetup": {
      "description": "A description of how to set up an iOS device prior to running the test.",
      "id": "IosTestSetup",
      "properties": {
        "networkProfile": {
          "description": "The network traffic profile used for running the test.\nAvailable network profiles can be queried by using the\nNETWORK_CONFIGURATION environment type when calling\nTestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IosVersion": {
      "description": "An iOS version.",
      "id": "IosVersion",
      "properties": {
        "id": {
          "description": "An opaque id for this iOS version.\nUse this id to invoke the TestExecutionService.",
          "type": "string"
        },
        "majorVersion": {
          "description": "An integer representing the major iOS version.\nExamples: \"8\", \"9\".",
          "format": "int32",
          "type": "integer"
        },
        "minorVersion": {
          "description": "An integer representing the minor iOS version.\nExamples: \"1\", \"2\".",
          "format": "int32",
          "type": "integer"
        },
        "supportedXcodeVersionIds": {
          "description": "The available Xcode versions for this version.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IosXcTest": {
      "description": "A test of an iOS application that uses the XCTest framework.\nXcode supports the option to \"build for testing\", which generates an\n.xctestrun file that contains a test specification (arguments, test methods,\netc). This test type accepts a zip file containing the .xctestrun file and\nthe corresponding contents of the Build/Products directory that contains all\nthe binaries needed to run the tests.",
      "id": "IosXcTest",
      "properties": {
        "appBundleId": {
          "description": "Output only. The bundle id for the application under test.",
          "type": "string"
        },
        "testsZip": {
          "$ref": "FileReference",
          "description": "Required. The .zip containing the .xctestrun file and the contents of the\nDerivedData/Build/Products directory.\nThe .xctestrun file in this zip is ignored if the xctestrun field is\nspecified."
        },
        "xcodeVersion": {
          "description": "The Xcode version that should be used for the test.\nUse the TestEnvironmentDiscoveryService to get supported options.\nDefaults to the latest Xcode version Firebase Test Lab supports.",
          "type": "string"
        },
        "xctestrun": {
          "$ref": "FileReference",
          "description": "An .xctestrun file that will override the .xctestrun file in the\ntests zip. Because the .xctestrun file contains environment variables along\nwith test methods to run and/or ignore, this can be useful for sharding\ntests. Default is taken from the tests zip."
        }
      },
      "type": "object"
    },
    "LauncherActivityIntent": {
      "description": "Specifies an intent that starts the main launcher activity.",
      "id": "LauncherActivityIntent",
      "properties": {},
      "type": "object"
    },
    "Locale": {
      "description": "A location/region designation for language.",
      "id": "Locale",
      "properties": {
        "id": {
          "description": "The id for this locale.\nExample: \"en_US\".",
          "type": "string"
        },
        "name": {
          "description": "A human-friendly name for this language/locale.\nExample: \"English\".",
          "type": "string"
        },
        "region": {
          "description": "A human-friendly string representing the region for this\nlocale. Example: \"United States\". Not present for every locale.",
          "type": "string"
        },
        "tags": {
          "description": "Tags for this dimension.\nExample: \"default\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetworkConfiguration": {
      "id": "NetworkConfiguration",
      "properties": {
        "downRule": {
          "$ref": "TrafficRule",
          "description": "The emulation rule applying to the download traffic."
        },
        "id": {
          "description": "The unique opaque id for this network traffic configuration.",
          "type": "string"
        },
        "upRule": {
          "$ref": "TrafficRule",
          "description": "The emulation rule applying to the upload traffic."
        }
      },
      "type": "object"
    },
    "NetworkConfigurationCatalog": {
      "id": "NetworkConfigurationCatalog",
      "properties": {
        "configurations": {
          "items": {
            "$ref": "NetworkConfiguration"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ObbFile": {
      "description": "An opaque binary blob file to install on the device before the test starts.",
      "id": "ObbFile",
      "properties": {
        "obb": {
          "$ref": "FileReference",
          "description": "Required. Opaque Binary Blob (OBB) file(s) to install on the device."
        },
        "obbFileName": {
          "description": "Required. OBB file name which must conform to the format as specified by\nAndroid\ne.g. [main|patch].0300110.com.example.android.obb\nwhich will be installed into\n  \\\u003cshared-storage\\\u003e/Android/obb/\\\u003cpackage-name\\\u003e/\non the device.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Orientation": {
      "description": "Screen orientation of the device.",
      "id": "Orientation",
      "properties": {
        "id": {
          "description": "The id for this orientation.\nExample: \"portrait\".",
          "type": "string"
        },
        "name": {
          "description": "A human-friendly name for this orientation.\nExample: \"portrait\".",
          "type": "string"
        },
        "tags": {
          "description": "Tags for this dimension.\nExample: \"default\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProvidedSoftwareCatalog": {
      "description": "The currently provided software environment on the devices under test.",
      "id": "ProvidedSoftwareCatalog",
      "properties": {
        "orchestratorVersion": {
          "description": "A string representing the current version of Android Test\nOrchestrator that is provided by TestExecutionService.\nExample: \"1.0.2 beta\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RegularFile": {
      "description": "A file or directory to install on the device before the test starts.",
      "id": "RegularFile",
      "properties": {
        "content": {
          "$ref": "FileReference",
          "description": "Required. The source file."
        },
        "devicePath": {
          "description": "Required. Where to put the content on the device. Must be an absolute,\nwhitelisted path. If the file exists, it will be replaced.\nThe following device-side directories and any of their subdirectories are\nwhitelisted:\n\u003cp\u003e${EXTERNAL_STORAGE}, or /sdcard\u003c/p\u003e\n\u003cp\u003e${ANDROID_DATA}/local/tmp, or /data/local/tmp\u003c/p\u003e\n\u003cp\u003eSpecifying a path outside of these directory trees is invalid.\n\n\u003cp\u003e The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device and copy the file there.\n\n\u003cp\u003e It is strongly advised to use the \u003ca href=\n\"http://developer.android.com/reference/android/os/Environment.html\"\u003e\nEnvironment API\u003c/a\u003e in app and test code to access files on the device in a\nportable way.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResultStorage": {
      "description": "Locations where the results of running the test are stored.",
      "id": "ResultStorage",
      "properties": {
        "googleCloudStorage": {
          "$ref": "GoogleCloudStorage",
          "description": "Required."
        },
        "resultsUrl": {
          "description": "Output only. URL to the results in the Firebase Web Console.",
          "type": "string"
        },
        "toolResultsExecution": {
          "$ref": "ToolResultsExecution",
          "description": "Output only. The tool results execution that results are written to."
        },
        "toolResultsHistory": {
          "$ref": "ToolResultsHistory",
          "description": "The tool results history that contains the tool results execution that\nresults are written to.\n\nIf not provided, the service will choose an appropriate value."
        }
      },
      "type": "object"
    },
    "RoboDirective": {
      "description": "Directs Robo to interact with a specific UI element if it is encountered\nduring the crawl. Currently, Robo can perform text entry or element click.",
      "id": "RoboDirective",
      "properties": {
        "actionType": {
          "description": "Required. The type of action that Robo should perform on the specified\nelement.",
          "enum": [
            "ACTION_TYPE_UNSPECIFIED",
            "SINGLE_CLICK",
            "ENTER_TEXT",
            "IGNORE"
          ],
          "enumDescriptions": [
            "DO NOT USE. For proto versioning only.",
            "Direct Robo to click on the specified element. No-op if specified element\nis not clickable.",
            "Direct Robo to enter text on the specified element. No-op if specified\nelement is not enabled or does not allow text entry.",
            "Direct Robo to ignore interactions with a specific element."
          ],
          "type": "string"
        },
        "inputText": {
          "description": "The text that Robo is directed to set. If left empty, the directive will be\ntreated as a CLICK on the element matching the resource_name.",
          "type": "string"
        },
        "resourceName": {
          "description": "Required. The android resource name of the target UI element.\nFor example,\n   in Java: R.string.foo\n   in xml: @string/foo\nOnly the \"foo\" part is needed.\nReference doc:\nhttps://developer.android.com/guide/topics/resources/accessing-resources.html",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RoboStartingIntent": {
      "description": "Message for specifying the start activities to crawl.",
      "id": "RoboStartingIntent",
      "properties": {
        "launcherActivity": {
          "$ref": "LauncherActivityIntent",
          "description": "An intent that starts the main launcher activity."
        },
        "startActivity": {
          "$ref": "StartActivityIntent",
          "description": "An intent that starts an activity with specific details."
        },
        "timeout": {
          "description": "Timeout in seconds for each intent.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StartActivityIntent": {
      "description": "A starting intent specified by an action, uri, and categories.",
      "id": "StartActivityIntent",
      "properties": {
        "action": {
          "description": "Action name.\nRequired for START_ACTIVITY.",
          "type": "string"
        },
        "categories": {
          "description": "Intent categories to set on the intent.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "uri": {
          "description": "URI for the action.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestDetails": {
      "description": "Additional details about the progress of the running test.",
      "id": "TestDetails",
      "properties": {
        "errorMessage": {
          "description": "Output only. If the TestState is ERROR, then this string will contain\nhuman-readable details about the error.",
          "type": "string"
        },
        "progressMessages": {
          "description": "Output only. Human-readable, detailed descriptions of the test's progress.\nFor example: \"Provisioning a device\", \"Starting Test\".\n\nDuring the course of execution new data may be appended\nto the end of progress_messages.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestEnvironmentCatalog": {
      "description": "A description of a test environment.",
      "id": "TestEnvironmentCatalog",
      "properties": {
        "androidDeviceCatalog": {
          "$ref": "AndroidDeviceCatalog",
          "description": "Supported Android devices."
        },
        "iosDeviceCatalog": {
          "$ref": "IosDeviceCatalog",
          "description": "Supported iOS devices."
        },
        "networkConfigurationCatalog": {
          "$ref": "NetworkConfigurationCatalog",
          "description": "Supported network configurations."
        },
        "softwareCatalog": {
          "$ref": "ProvidedSoftwareCatalog",
          "description": "The software test environment provided by TestExecutionService."
        }
      },
      "type": "object"
    },
    "TestExecution": {
      "description": "A single test executed in a single environment.",
      "id": "TestExecution",
      "properties": {
        "environment": {
          "$ref": "Environment",
          "description": "Output only. How the host machine(s) are configured."
        },
        "id": {
          "description": "Output only. Unique id set by the service.",
          "type": "string"
        },
        "matrixId": {
          "description": "Output only. Id of the containing TestMatrix.",
          "type": "string"
        },
        "projectId": {
          "description": "Output only. The cloud project that owns the test execution.",
          "type": "string"
        },
        "state": {
          "description": "Output only. Indicates the current progress of the test execution\n(e.g., FINISHED).",
          "enum": [
            "TEST_STATE_UNSPECIFIED",
            "VALIDATING",
            "PENDING",
            "RUNNING",
            "FINISHED",
            "ERROR",
            "UNSUPPORTED_ENVIRONMENT",
            "INCOMPATIBLE_ENVIRONMENT",
            "INCOMPATIBLE_ARCHITECTURE",
            "CANCELLED",
            "INVALID"
          ],
          "enumDescriptions": [
            "Do not use.  For proto versioning only.",
            "The execution or matrix is being validated.",
            "The execution or matrix is waiting for resources to become available.",
            "The execution is currently being processed.\n\nCan only be set on an execution.",
            "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.",
            "The execution or matrix has stopped because it encountered an\ninfrastructure failure.",
            "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.",
            "The user cancelled the execution.\n\nCan only be set on an execution.",
            "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware"
          ],
          "type": "string"
        },
        "testDetails": {
          "$ref": "TestDetails",
          "description": "Output only. Additional details about the running test."
        },
        "testSpecification": {
          "$ref": "TestSpecification",
          "description": "Output only. How to run the test."
        },
        "timestamp": {
          "description": "Output only. The time this test execution was initially created.",
          "format": "google-datetime",
          "type": "string"
        },
        "toolResultsStep": {
          "$ref": "ToolResultsStep",
          "description": "Output only. Where the results for this execution are written."
        }
      },
      "type": "object"
    },
    "TestMatrix": {
      "description": "TestMatrix captures all details about a test. It contains the environment\nconfiguration, test specification, test executions and overall state and\noutcome.",
      "id": "TestMatrix",
      "properties": {
        "clientInfo": {
          "$ref": "ClientInfo",
          "description": "Information about the client which invoked the test."
        },
        "environmentMatrix": {
          "$ref": "EnvironmentMatrix",
          "description": "Required. The devices the tests are being executed on."
        },
        "flakyTestAttempts": {
          "description": "The number of times a TestExecution should be re-attempted if one or more\nof its test cases fail for any reason.\nThe maximum number of reruns allowed is 10.\n\nDefault is 0, which implies no reruns.",
          "format": "int32",
          "type": "integer"
        },
        "invalidMatrixDetails": {
          "description": "Output only. Describes why the matrix is considered invalid.\nOnly useful for matrices in the INVALID state.",
          "enum": [
            "INVALID_MATRIX_DETAILS_UNSPECIFIED",
            "DETAILS_UNAVAILABLE",
            "MALFORMED_APK",
            "MALFORMED_TEST_APK",
            "NO_MANIFEST",
            "NO_PACKAGE_NAME",
            "INVALID_PACKAGE_NAME",
            "TEST_SAME_AS_APP",
            "NO_INSTRUMENTATION",
            "NO_SIGNATURE",
            "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE",
            "NO_TEST_RUNNER_CLASS",
            "NO_LAUNCHER_ACTIVITY",
            "FORBIDDEN_PERMISSIONS",
            "INVALID_ROBO_DIRECTIVES",
            "INVALID_RESOURCE_NAME",
            "INVALID_DIRECTIVE_ACTION",
            "TEST_LOOP_INTENT_FILTER_NOT_FOUND",
            "SCENARIO_LABEL_NOT_DECLARED",
            "SCENARIO_LABEL_MALFORMED",
            "SCENARIO_NOT_DECLARED",
            "DEVICE_ADMIN_RECEIVER",
            "MALFORMED_XC_TEST_ZIP",
            "BUILT_FOR_IOS_SIMULATOR",
            "NO_TESTS_IN_XC_TEST_ZIP",
            "USE_DESTINATION_ARTIFACTS",
            "TEST_NOT_APP_HOSTED",
            "PLIST_CANNOT_BE_PARSED",
            "TEST_ONLY_APK",
            "MALFORMED_IPA",
            "MISSING_URL_SCHEME",
            "MALFORMED_APP_BUNDLE",
            "NO_CODE_APK",
            "INVALID_INPUT_APK",
            "INVALID_APK_PREVIEW_SDK"
          ],
          "enumDescriptions": [
            "Do not use. For proto versioning only.",
            "The matrix is INVALID, but there are no further details available.",
            "The input app APK could not be parsed.",
            "The input test APK could not be parsed.",
            "The AndroidManifest.xml could not be found.",
            "The APK manifest does not declare a package name.",
            "The APK application ID (aka package name) is invalid.\nSee also\nhttps://developer.android.com/studio/build/application-id",
            "The test package and app package are the same.",
            "The test apk does not declare an instrumentation.",
            "The input app apk does not have a signature.",
            "The test runner class specified by user or in the test APK's manifest file\nis not compatible with Android Test Orchestrator.\nOrchestrator is only compatible with AndroidJUnitRunner version 1.0 or\nhigher.\nOrchestrator can be disabled by using DO_NOT_USE_ORCHESTRATOR\nOrchestratorOption.",
            "The test APK does not contain the test runner class specified by user or in\nthe manifest file.\nThis can be caused by either of the following reasons:\n- the user provided a runner class name that's incorrect, or\n- the test runner isn't built into the test APK (might be in the app APK\ninstead).",
            "A main launcher activity could not be found.",
            "The app declares one or more permissions that are not allowed.",
            "There is a conflict in the provided robo_directives.",
            "There is at least one invalid resource name in the provided\nrobo directives",
            "Invalid definition of action in the robo directives\n(e.g. a click or ignore action includes an input text field)",
            "There is no test loop intent filter, or the one that is given is\nnot formatted correctly.",
            "The request contains a scenario label that was not declared in the\nmanifest.",
            "There was an error when parsing a label's value.",
            "The request contains a scenario number that was not declared in the\nmanifest.",
            "Device administrator applications are not allowed.",
            "The zipped XCTest was malformed. The zip did not contain a single\n.xctestrun file and the contents of the DerivedData/Build/Products\ndirectory.",
            "The zipped XCTest was built for the iOS simulator rather than for a\nphysical device.",
            "The .xctestrun file did not specify any test targets.",
            "One or more of the test targets defined in the .xctestrun file specifies\n\"UseDestinationArtifacts\", which is disallowed.",
            "XC tests which run on physical devices must have\n\"IsAppHostedTestBundle\" == \"true\" in the xctestrun file.",
            "An Info.plist file in the XCTest zip could not be parsed.",
            "The APK is marked as \"testOnly\".\nDeprecated and not currently used.",
            "The input IPA could not be parsed.",
            "The application doesn't register the game loop URL scheme.",
            "The iOS application bundle (.app) couldn't be processed.",
            "APK contains no code.\nSee also\nhttps://developer.android.com/guide/topics/manifest/application-element.html#code",
            "Either the provided input APK path was malformed,\nthe APK file does not exist, or the user does not have permission to\naccess the APK file.",
            "APK is built for a preview SDK which is unsupported"
          ],
          "type": "string"
        },
        "outcomeSummary": {
          "description": "Output Only. The overall outcome of the test.\nOnly set when the test matrix state is FINISHED.",
          "enum": [
            "OUTCOME_SUMMARY_UNSPECIFIED",
            "SUCCESS",
            "FAILURE",
            "INCONCLUSIVE",
            "SKIPPED"
          ],
          "enumDescriptions": [
            "Do not use. For proto versioning only.",
            "The test matrix run was successful, for instance:\n- All the test cases passed.\n- Robo did not detect a crash of the application under test.",
            "A run failed, for instance:\n- One or more test case failed.\n- A test timed out.\n- The application under test crashed.",
            "Something unexpected happened. The run should still be considered\nunsuccessful but this is likely a transient problem and re-running the\ntest might be successful.",
            "All tests were skipped, for instance:\n- All device configurations were incompatible."
          ],
          "type": "string"
        },
        "projectId": {
          "description": "The cloud project that owns the test matrix.",
          "type": "string"
        },
        "resultStorage": {
          "$ref": "ResultStorage",
          "description": "Required. Where the results for the matrix are written."
        },
        "state": {
          "description": "Output only. Indicates the current progress of the test matrix.",
          "enum": [
            "TEST_STATE_UNSPECIFIED",
            "VALIDATING",
            "PENDING",
            "RUNNING",
            "FINISHED",
            "ERROR",
            "UNSUPPORTED_ENVIRONMENT",
            "INCOMPATIBLE_ENVIRONMENT",
            "INCOMPATIBLE_ARCHITECTURE",
            "CANCELLED",
            "INVALID"
          ],
          "enumDescriptions": [
            "Do not use.  For proto versioning only.",
            "The execution or matrix is being validated.",
            "The execution or matrix is waiting for resources to become available.",
            "The execution is currently being processed.\n\nCan only be set on an execution.",
            "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.",
            "The execution or matrix has stopped because it encountered an\ninfrastructure failure.",
            "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.",
            "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.",
            "The user cancelled the execution.\n\nCan only be set on an execution.",
            "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware"
          ],
          "type": "string"
        },
        "testExecutions": {
          "description": "Output only. The list of test executions that the service creates for\nthis matrix.",
          "items": {
            "$ref": "TestExecution"
          },
          "type": "array"
        },
        "testMatrixId": {
          "description": "Output only. Unique id set by the service.",
          "type": "string"
        },
        "testSpecification": {
          "$ref": "TestSpecification",
          "description": "Required. How to run the test."
        },
        "timestamp": {
          "description": "Output only. The time this test matrix was initially created.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestSetup": {
      "description": "A description of how to set up the Android device prior to running the test.",
      "id": "TestSetup",
      "properties": {
        "account": {
          "$ref": "Account",
          "description": "The device will be logged in on this account for the duration of the test."
        },
        "additionalApks": {
          "description": "APKs to install in addition to those being directly tested.\nCurrently capped at 100.",
          "items": {
            "$ref": "Apk"
          },
          "type": "array"
        },
        "directoriesToPull": {
          "description": "List of directories on the device to upload to GCS at the end of the test;\nthey must be absolute paths under /sdcard or /data/local/tmp.\nPath names are restricted to characters a-z A-Z 0-9 _ - . + and /\n\nNote: The paths /sdcard and /data will be made available and treated as\nimplicit path substitutions. E.g. if /sdcard on a particular device does\nnot map to external storage, the system will replace it with the external\nstorage path prefix for that device.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "environmentVariables": {
          "description": "Environment variables to set for the test (only applicable for\ninstrumentation tests).",
          "items": {
            "$ref": "EnvironmentVariable"
          },
          "type": "array"
        },
        "filesToPush": {
          "description": "List of files to push to the device before starting the test.",
          "items": {
            "$ref": "DeviceFile"
          },
          "type": "array"
        },
        "networkProfile": {
          "description": "The network traffic profile used for running the test.\nAvailable network profiles can be queried by using the\nNETWORK_CONFIGURATION environment type when calling\nTestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestSpecification": {
      "description": "A description of how to run the test.",
      "id": "TestSpecification",
      "properties": {
        "androidInstrumentationTest": {
          "$ref": "AndroidInstrumentationTest",
          "description": "An Android instrumentation test."
        },
        "androidRoboTest": {
          "$ref": "AndroidRoboTest",
          "description": "An Android robo test."
        },
        "androidTestLoop": {
          "$ref": "AndroidTestLoop",
          "description": "An Android Application with a Test Loop."
        },
        "disablePerformanceMetrics": {
          "description": "Disables performance metrics recording. May reduce test latency.",
          "type": "boolean"
        },
        "disableVideoRecording": {
          "description": "Disables video recording. May reduce test latency.",
          "type": "boolean"
        },
        "iosTestLoop": {
          "$ref": "IosTestLoop",
          "description": "An iOS application with a test loop."
        },
        "iosTestSetup": {
          "$ref": "IosTestSetup",
          "description": "Test setup requirements for iOS."
        },
        "iosXcTest": {
          "$ref": "IosXcTest",
          "description": "An iOS XCTest, via an .xctestrun file."
        },
        "testSetup": {
          "$ref": "TestSetup",
          "description": "Test setup requirements for Android e.g. files to install, bootstrap\nscripts."
        },
        "testTimeout": {
          "description": "Max time a test execution is allowed to run before it is\nautomatically cancelled.\nThe default value is 5 min.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ToolResultsExecution": {
      "description": "Represents a tool results execution resource.\n\nThis has the results of a TestMatrix.",
      "id": "ToolResultsExecution",
      "properties": {
        "executionId": {
          "description": "Output only. A tool results execution ID.",
          "type": "string"
        },
        "historyId": {
          "description": "Output only. A tool results history ID.",
          "type": "string"
        },
        "projectId": {
          "description": "Output only. The cloud project that owns the tool results execution.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ToolResultsHistory": {
      "description": "Represents a tool results history resource.",
      "id": "ToolResultsHistory",
      "properties": {
        "historyId": {
          "description": "Required. A tool results history ID.",
          "type": "string"
        },
        "projectId": {
          "description": "Required. The cloud project that owns the tool results history.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ToolResultsStep": {
      "description": "Represents a tool results step resource.\n\nThis has the results of a TestExecution.",
      "id": "ToolResultsStep",
      "properties": {
        "executionId": {
          "description": "Output only. A tool results execution ID.",
          "type": "string"
        },
        "historyId": {
          "description": "Output only. A tool results history ID.",
          "type": "string"
        },
        "projectId": {
          "description": "Output only. The cloud project that owns the tool results step.",
          "type": "string"
        },
        "stepId": {
          "description": "Output only. A tool results step ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TrafficRule": {
      "description": "Network emulation parameters.",
      "id": "TrafficRule",
      "properties": {
        "bandwidth": {
          "description": "Bandwidth in kbits/second.",
          "format": "float",
          "type": "number"
        },
        "burst": {
          "description": "Burst size in kbits.",
          "format": "float",
          "type": "number"
        },
        "delay": {
          "description": "Packet delay, must be \u003e= 0.",
          "format": "google-duration",
          "type": "string"
        },
        "packetDuplicationRatio": {
          "description": "Packet duplication ratio (0.0 - 1.0).",
          "format": "float",
          "type": "number"
        },
        "packetLossRatio": {
          "description": "Packet loss ratio (0.0 - 1.0).",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "XcodeVersion": {
      "description": "An Xcode version that an iOS version is compatible with.",
      "id": "XcodeVersion",
      "properties": {
        "tags": {
          "description": "Tags for this Xcode version.\nExample: \"default\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "version": {
          "description": "The id for this version.\nExample: \"9.2\".",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Testing API",
  "version": "v1"
}