{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://www.googleapis.com/",
  "batchPath": "batch/toolresults/v1beta3",
  "canonicalName": "Tool Results",
  "description": "API to publish and access results from developer tools.",
  "discoveryVersion": "v1",
  "documentationLink": "https://firebase.google.com/docs/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": "toolresults:v1beta3",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://www.mtls.googleapis.com/",
  "name": "toolresults",
  "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": {
    "clusters": {
      "methods": {
        "get": {
          "description": "Retrieves a single screenshot cluster by its ID",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}",
          "httpMethod": "GET",
          "id": "toolresults.clusters.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "clusterId"
          ],
          "parameters": {
            "clusterId": {
              "description": "A Cluster id\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "executionId": {
              "description": "An Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}",
          "response": {
            "$ref": "ScreenshotCluster"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution.\nScreenshot clusters are created after the execution is finished.\nClusters are created from a set of screenshots. Between any two\nscreenshots, a matching score is calculated based off their metadata\nthat determines how similar they are. Screenshots are placed\nin the cluster that has screens which have the highest matching\nscores.",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters",
          "httpMethod": "GET",
          "id": "toolresults.clusters.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "An Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/clusters",
          "response": {
            "$ref": "ListScreenshotClustersResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "environments": {
      "methods": {
        "get": {
          "description": "Gets an Environment.\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 Environment does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}",
          "httpMethod": "GET",
          "id": "toolresults.environments.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "environmentId"
          ],
          "parameters": {
            "environmentId": {
              "description": "Required. An Environment id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "executionId": {
              "description": "Required. An Execution id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "Required. A History id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "Required. A Project id.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}",
          "response": {
            "$ref": "Environment"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Environments for a given Execution.\n\nThe Environments are sorted by display name.\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 containing Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments",
          "httpMethod": "GET",
          "id": "toolresults.environments.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "Required. An Execution id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "Required. A History id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of Environments to fetch.\n\nDefault value: 25. The server will use this default if the field is not set\nor has a value of 0.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "Required. A Project id.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/environments",
          "response": {
            "$ref": "ListEnvironmentsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "executions": {
      "methods": {
        "create": {
          "description": "Creates an Execution.\n\nThe returned Execution will have the id set.\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\n- NOT_FOUND - if the containing History does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions",
          "httpMethod": "POST",
          "id": "toolresults.executions.create",
          "parameterOrder": [
            "projectId",
            "historyId"
          ],
          "parameters": {
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "requestId": {
              "description": "A unique request ID for server to detect duplicated requests.\nFor example, a UUID.\n\nOptional, but strongly recommended.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions",
          "request": {
            "$ref": "Execution"
          },
          "response": {
            "$ref": "Execution"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets an Execution.\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\n- NOT_FOUND - if the Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}",
          "httpMethod": "GET",
          "id": "toolresults.executions.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "An Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}",
          "response": {
            "$ref": "Execution"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Executions for a given History.\n\nThe executions are sorted by creation_time in descending order. The\nexecution_id key will be used to order the executions with the same\ncreation_time.\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 containing History does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions",
          "httpMethod": "GET",
          "id": "toolresults.executions.list",
          "parameterOrder": [
            "projectId",
            "historyId"
          ],
          "parameters": {
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of Executions to fetch.\n\nDefault value: 25. The server will use this default if the field is not set\nor has a value of 0.\n\nOptional.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions",
          "response": {
            "$ref": "ListExecutionsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "patch": {
          "description": "Updates an existing Execution with the supplied partial entity.\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\n- FAILED_PRECONDITION - if the requested state transition is illegal\n- NOT_FOUND - if the containing History does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}",
          "httpMethod": "PATCH",
          "id": "toolresults.executions.patch",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "Required.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "Required.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "requestId": {
              "description": "A unique request ID for server to detect duplicated requests.\nFor example, a UUID.\n\nOptional, but strongly recommended.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}",
          "request": {
            "$ref": "Execution"
          },
          "response": {
            "$ref": "Execution"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "histories": {
      "methods": {
        "create": {
          "description": "Creates a History.\n\nThe returned History will have the id set.\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\n- NOT_FOUND - if the containing project does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories",
          "httpMethod": "POST",
          "id": "toolresults.histories.create",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "requestId": {
              "description": "A unique request ID for server to detect duplicated requests.\nFor example, a UUID.\n\nOptional, but strongly recommended.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories",
          "request": {
            "$ref": "History"
          },
          "response": {
            "$ref": "History"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets a History.\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 History does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}",
          "httpMethod": "GET",
          "id": "toolresults.histories.get",
          "parameterOrder": [
            "projectId",
            "historyId"
          ],
          "parameters": {
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}",
          "response": {
            "$ref": "History"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Histories for a given Project.\n\nThe histories are sorted by modification time in descending order. The\nhistory_id key will be used to order the history with the same\nmodification time.\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 History does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories",
          "httpMethod": "GET",
          "id": "toolresults.histories.list",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "filterByName": {
              "description": "If set, only return histories with the given name.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of Histories to fetch.\n\nDefault value: 20. The server will use this default if the field is not set\nor has a value of 0. Any value greater than 100 will be treated as 100.\n\nOptional.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories",
          "response": {
            "$ref": "ListHistoriesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "perfMetricsSummary": {
      "methods": {
        "create": {
          "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has\nalready been created.\n\nMay return any of the following error code(s):\n- NOT_FOUND - The containing Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
          "httpMethod": "POST",
          "id": "toolresults.perfMetricsSummary.create",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
          "request": {
            "$ref": "PerfMetricsSummary"
          },
          "response": {
            "$ref": "PerfMetricsSummary"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "perfSampleSeries": {
      "methods": {
        "create": {
          "description": "Creates a PerfSampleSeries.\n\nMay return any of the following error code(s):\n- ALREADY_EXISTS - PerfMetricSummary already exists for the given Step\n- NOT_FOUND - The containing Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
          "httpMethod": "POST",
          "id": "toolresults.perfSampleSeries.create",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
          "request": {
            "$ref": "PerfSampleSeries"
          },
          "response": {
            "$ref": "PerfSampleSeries"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets a PerfSampleSeries.\n\nMay return any of the following error code(s):\n- NOT_FOUND - The specified PerfSampleSeries does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}",
          "httpMethod": "GET",
          "id": "toolresults.perfSampleSeries.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId",
            "sampleSeriesId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "sampleSeriesId": {
              "description": "A sample series id",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}",
          "response": {
            "$ref": "PerfSampleSeries"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists PerfSampleSeries for a given Step.\n\nThe request provides an optional filter which specifies one or more\nPerfMetricsType to include in the result; if none returns all.\nThe resulting PerfSampleSeries are sorted by ids.\n\nMay return any of the following canonical error codes:\n- NOT_FOUND - The containing Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
          "httpMethod": "GET",
          "id": "toolresults.perfSampleSeries.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "filter": {
              "description": "Specify one or more PerfMetricType values such as CPU to filter the result",
              "enum": [
                "PERF_METRIC_TYPE_UNSPECIFIED",
                "MEMORY",
                "CPU",
                "NETWORK",
                "GRAPHICS"
              ],
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
          "response": {
            "$ref": "ListPerfSampleSeriesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "projects": {
      "methods": {
        "getSettings": {
          "description": "Gets the Tool Results settings for a project.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read from project",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/settings",
          "httpMethod": "GET",
          "id": "toolresults.projects.getSettings",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/settings",
          "response": {
            "$ref": "ProjectSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "initializeSettings": {
          "description": "Creates resources for settings which have not yet been set.\n\nCurrently, this creates a single resource: a Google Cloud Storage bucket,\nto be used as the default bucket for this project. The bucket is created\nin an FTL-own storage project. Except for in rare cases, calling this\nmethod in parallel from multiple clients will only create a single bucket.\nIn order to avoid unnecessary storage charges, the bucket is configured to\nautomatically delete objects older than 90 days.\n\nThe bucket is created with the following permissions:\n- Owner access for owners of central storage project (FTL-owned)\n- Writer access for owners/editors of customer project\n- Reader access for viewers of customer project\nThe default ACL on objects created in the bucket is:\n- Owner access for owners of central storage project\n- Reader access for owners/editors/viewers of customer project\nSee Google Cloud Storage documentation for more details.\n\nIf there is already a default bucket set and the project can access the\nbucket, this call does nothing. However, if the project doesn't have the\npermission to access the bucket or the bucket is deleted, a new bucket\nwill be created.\n\nMay return any canonical error codes, including the following:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project\n- Any error code raised by Google Cloud Storage",
          "flatPath": "toolresults/v1beta3/projects/{projectId}:initializeSettings",
          "httpMethod": "POST",
          "id": "toolresults.projects.initializeSettings",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}:initializeSettings",
          "response": {
            "$ref": "ProjectSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "samples": {
      "methods": {
        "batchCreate": {
          "description": "Creates a batch of PerfSamples\n- a client can submit multiple batches of Perf Samples through repeated\ncalls to this method in order to split up a large request payload\n- duplicates and existing timestamp entries will be ignored.\n- the batch operation may partially succeed\n- the set of elements successfully inserted is returned in the response\n(omits items which already existed in the database).\n\nMay return any of the following canonical error codes:\n- NOT_FOUND - The containing PerfSampleSeries does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate",
          "httpMethod": "POST",
          "id": "toolresults.samples.batchCreate",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId",
            "sampleSeriesId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "sampleSeriesId": {
              "description": "A sample series id",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate",
          "request": {
            "$ref": "BatchCreatePerfSamplesRequest"
          },
          "response": {
            "$ref": "BatchCreatePerfSamplesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists the Performance Samples of a given Sample Series\n- The list results are sorted by timestamps ascending\n- The default page size is 500 samples; and maximum size allowed 5000\n- The response token indicates the last returned PerfSample timestamp\n- When the results size exceeds the page size, submit a subsequent request\nincluding the page token to return the rest of the samples up to the\npage limit\n\nMay return any of the following canonical error codes:\n- OUT_OF_RANGE - The specified request page_token is out of valid range\n- NOT_FOUND - The containing PerfSampleSeries does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples",
          "httpMethod": "GET",
          "id": "toolresults.samples.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId",
            "sampleSeriesId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The default page size is 500 samples, and the maximum size is 5000. If\nthe page_size is greater than 5000, the effective page size will be 5000",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "Optional, the next_page_token returned in the previous response",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "sampleSeriesId": {
              "description": "A sample series id",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples",
          "response": {
            "$ref": "ListPerfSamplesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "steps": {
      "methods": {
        "accessibilityClusters": {
          "description": "Lists accessibility clusters for a given Step\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- FAILED_PRECONDITION - if an argument in the request happens to be\n                        invalid; e.g. if the locale format is incorrect\n- NOT_FOUND - if the containing Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectsId}/histories/{historiesId}/executions/{executionsId}/steps/{stepsId}:accessibilityClusters",
          "httpMethod": "GET",
          "id": "toolresults.steps.accessibilityClusters",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "locale": {
              "description": "The accepted format is the canonical Unicode format with hyphen as a\ndelimiter. Language must be lowercase, Language Script - Capitalized,\nRegion - UPPERCASE.\nSee http://www.unicode.org/reports/tr35/#Unicode_locale_identifier for\ndetails.\n\nRequired.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "description": "A full resource name of the step.\nFor example, projects/my-project/histories/bh.1234567890abcdef/executions/\n1234567890123456789/steps/bs.1234567890abcdef\n\nRequired.",
              "location": "path",
              "pattern": "^projects/[^/]+/histories/[^/]+/executions/[^/]+/steps/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/{+name}:accessibilityClusters",
          "response": {
            "$ref": "ListStepAccessibilityClustersResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "create": {
          "description": "Creates a Step.\n\nThe returned Step will have the id set.\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\n- FAILED_PRECONDITION - if the step is too large (more than 10Mib)\n- NOT_FOUND - if the containing Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps",
          "httpMethod": "POST",
          "id": "toolresults.steps.create",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "Required. An Execution id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "Required. A History id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "Required. A Project id.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "requestId": {
              "description": "A unique request ID for server to detect duplicated requests.\nFor example, a UUID.\n\nOptional, but strongly recommended.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps",
          "request": {
            "$ref": "Step"
          },
          "response": {
            "$ref": "Step"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets a Step.\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 Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
          "httpMethod": "GET",
          "id": "toolresults.steps.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
          "response": {
            "$ref": "Step"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "getPerfMetricsSummary": {
          "description": "Retrieves a PerfMetricsSummary.\n\nMay return any of the following error code(s):\n- NOT_FOUND - The specified PerfMetricsSummary does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
          "httpMethod": "GET",
          "id": "toolresults.steps.getPerfMetricsSummary",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A tool results execution ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A tool results history ID.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "The cloud project",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A tool results step ID.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
          "response": {
            "$ref": "PerfMetricsSummary"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Steps for a given Execution.\n\nThe steps are sorted by creation_time in descending order. The\nstep_id key will be used to order the steps with the same\ncreation_time.\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- FAILED_PRECONDITION - if an argument in the request happens to be\n                        invalid; e.g. if an attempt is made to list the\n                        children of a nonexistent Step\n- NOT_FOUND - if the containing Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps",
          "httpMethod": "GET",
          "id": "toolresults.steps.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of Steps to fetch.\n\nDefault value: 25. The server will use this default if the field is not set\nor has a value of 0.\n\nOptional.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps",
          "response": {
            "$ref": "ListStepsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "patch": {
          "description": "Updates an existing Step with the supplied partial entity.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write project\n- INVALID_ARGUMENT - if the request is malformed\n- FAILED_PRECONDITION - if the requested state transition is illegal\n                        (e.g try to upload a duplicate xml file), if the\n                        updated step is too large (more than 10Mib)\n- NOT_FOUND - if the containing Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
          "httpMethod": "PATCH",
          "id": "toolresults.steps.patch",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "requestId": {
              "description": "A unique request ID for server to detect duplicated requests.\nFor example, a UUID.\n\nOptional, but strongly recommended.",
              "location": "query",
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
          "request": {
            "$ref": "Step"
          },
          "response": {
            "$ref": "Step"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "publishXunitXmlFiles": {
          "description": "Publish xml files to an existing Step.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write project\n- INVALID_ARGUMENT - if the request is malformed\n- FAILED_PRECONDITION - if the requested state transition is illegal,\ne.g try to upload a duplicate xml file or a file too large.\n- NOT_FOUND - if the containing Execution does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles",
          "httpMethod": "POST",
          "id": "toolresults.steps.publishXunitXmlFiles",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\nNote: This step must include a TestExecutionStep.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles",
          "request": {
            "$ref": "PublishXunitXmlFilesRequest"
          },
          "response": {
            "$ref": "Step"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "testCases": {
      "methods": {
        "get": {
          "description": "Gets details of a Test Case for a Step.\nExperimental test cases API. Still in active development.\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\n- NOT_FOUND - if the containing Test Case does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}",
          "httpMethod": "GET",
          "id": "toolresults.testCases.get",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId",
            "testCaseId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\nNote: This step must include a TestExecutionStep.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "testCaseId": {
              "description": "A Test Case id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}",
          "response": {
            "$ref": "TestCase"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists Test Cases attached to a Step.\nExperimental test cases API. Still in active development.\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\n- NOT_FOUND - if the containing Step does not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases",
          "httpMethod": "GET",
          "id": "toolresults.testCases.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "A Execution id\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of TestCases to fetch.\n\nDefault value: 100. The server will use this default if the field is not\nset or has a value of 0.\n\nOptional.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\nNote: This step must include a TestExecutionStep.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases",
          "response": {
            "$ref": "ListTestCasesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "thumbnails": {
      "methods": {
        "list": {
          "description": "Lists thumbnails of images attached to a step.\n\nMay return any of the following canonical error codes:\n- PERMISSION_DENIED - if the user is not authorized to read from the\n                      project, or from any of the images\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the step does not exist, or if any of the images\n              do not exist",
          "flatPath": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails",
          "httpMethod": "GET",
          "id": "toolresults.thumbnails.list",
          "parameterOrder": [
            "projectId",
            "historyId",
            "executionId",
            "stepId"
          ],
          "parameters": {
            "executionId": {
              "description": "An Execution id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "historyId": {
              "description": "A History id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of thumbnails to fetch.\n\nDefault value: 50. The server will use this default if the field is not set\nor has a value of 0.\n\nOptional.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "stepId": {
              "description": "A Step id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "toolresults/v1beta3/projects/{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails",
          "response": {
            "$ref": "ListStepThumbnailsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20200513",
  "rootUrl": "https://www.googleapis.com/",
  "schemas": {
    "ANR": {
      "description": "Additional details for an ANR crash.",
      "id": "ANR",
      "properties": {
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "The stack trace of the ANR crash.\nOptional."
        }
      },
      "type": "object"
    },
    "AndroidAppInfo": {
      "description": "Android app information.",
      "id": "AndroidAppInfo",
      "properties": {
        "name": {
          "description": "The name of the app.\nOptional",
          "type": "string"
        },
        "packageName": {
          "description": "The package name of the app.\nRequired.",
          "type": "string"
        },
        "versionCode": {
          "description": "The internal version code of the app.\nOptional.",
          "type": "string"
        },
        "versionName": {
          "description": "The version name of the app.\nOptional.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AndroidInstrumentationTest": {
      "description": "A test of an Android application that can control an Android component\nindependently of its normal lifecycle.\n\nSee \u003chttp://developer.android.com/tools/testing/testing_android.html\u003e for\nmore information on types of Android tests.",
      "id": "AndroidInstrumentationTest",
      "properties": {
        "testPackageId": {
          "description": "The java package for the test to be executed.\nRequired",
          "type": "string"
        },
        "testRunnerClass": {
          "description": "The InstrumentationTestRunner class.\nRequired",
          "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"
        },
        "useOrchestrator": {
          "description": "The flag indicates whether Android Test Orchestrator will be used to run\ntest or not.",
          "type": "boolean"
        }
      },
      "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": {
        "appInitialActivity": {
          "description": "The initial activity that should be used to start the app.\nOptional",
          "type": "string"
        },
        "bootstrapPackageId": {
          "description": "The java package for the bootstrap.\nOptional",
          "type": "string"
        },
        "bootstrapRunnerClass": {
          "description": "The runner class for the bootstrap.\nOptional",
          "type": "string"
        },
        "maxDepth": {
          "description": "The max depth of the traversal stack Robo can explore.\nOptional",
          "format": "int32",
          "type": "integer"
        },
        "maxSteps": {
          "description": "The max number of steps/actions Robo can execute.\nDefault is no limit (0).\nOptional",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AndroidTest": {
      "description": "An Android mobile test specification.",
      "id": "AndroidTest",
      "properties": {
        "androidAppInfo": {
          "$ref": "AndroidAppInfo",
          "description": "Information about the application under test."
        },
        "androidInstrumentationTest": {
          "$ref": "AndroidInstrumentationTest",
          "description": "An Android instrumentation test."
        },
        "androidRoboTest": {
          "$ref": "AndroidRoboTest",
          "description": "An Android robo test."
        },
        "androidTestLoop": {
          "$ref": "AndroidTestLoop",
          "description": "An Android test loop."
        },
        "testTimeout": {
          "$ref": "Duration",
          "description": "Max time a test is allowed to run before it is\nautomatically cancelled."
        }
      },
      "type": "object"
    },
    "AndroidTestLoop": {
      "description": "Test Loops are tests that can be launched by the app itself, determining\nwhen to run by listening for an intent.",
      "id": "AndroidTestLoop",
      "properties": {},
      "type": "object"
    },
    "Any": {
      "description": "\n`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(\u0026foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := \u0026pb.Foo{...}\n     any, err := ptypes.MarshalAny(foo)\n     ...\n     foo := \u0026pb.Foo{}\n     if err := ptypes.UnmarshalAny(any, foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\n# JSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": \u003cstring\u003e,\n      \"lastName\": \u003cstring\u003e\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message google.protobuf.Duration):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }",
      "id": "Any",
      "properties": {
        "typeUrl": {
          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a google.protobuf.Type\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
          "type": "string"
        },
        "value": {
          "description": "Must be a valid serialized protocol buffer of the above specified type.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AppStartTime": {
      "id": "AppStartTime",
      "properties": {
        "fullyDrawnTime": {
          "$ref": "Duration",
          "description": "Optional. The time from app start to reaching the developer-reported\n\"fully drawn\" time. This is only stored if the app includes a call to\nActivity.reportFullyDrawn(). See\nhttps://developer.android.com/topic/performance/launch-time.html#time-full"
        },
        "initialDisplayTime": {
          "$ref": "Duration",
          "description": "The time from app start to the first displayed activity being drawn,\nas reported in Logcat. See\nhttps://developer.android.com/topic/performance/launch-time.html#time-initial"
        }
      },
      "type": "object"
    },
    "AvailableDeepLinks": {
      "description": "A suggestion to use deep links for a Robo run.",
      "id": "AvailableDeepLinks",
      "properties": {},
      "type": "object"
    },
    "BasicPerfSampleSeries": {
      "description": "Encapsulates the metadata for basic sample series represented by a line chart",
      "id": "BasicPerfSampleSeries",
      "properties": {
        "perfMetricType": {
          "enum": [
            "PERF_METRIC_TYPE_UNSPECIFIED",
            "MEMORY",
            "CPU",
            "NETWORK",
            "GRAPHICS"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "perfUnit": {
          "enum": [
            "PERF_UNIT_UNSPECIFIED",
            "KIBIBYTE",
            "PERCENT",
            "BYTES_PER_SECOND",
            "FRAMES_PER_SECOND",
            "BYTE"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "sampleSeriesLabel": {
          "enum": [
            "SAMPLE_SERIES_TYPE_UNSPECIFIED",
            "MEMORY_RSS_PRIVATE",
            "MEMORY_RSS_SHARED",
            "MEMORY_RSS_TOTAL",
            "MEMORY_TOTAL",
            "CPU_USER",
            "CPU_KERNEL",
            "CPU_TOTAL",
            "NT_BYTES_TRANSFERRED",
            "NT_BYTES_RECEIVED",
            "NETWORK_SENT",
            "NETWORK_RECEIVED",
            "GRAPHICS_FRAME_RATE"
          ],
          "enumDescriptions": [
            "",
            "Memory sample series",
            "",
            "",
            "",
            "CPU sample series",
            "",
            "",
            "Network sample series",
            "",
            "",
            "",
            "Graphics sample series"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "BatchCreatePerfSamplesRequest": {
      "description": "The request must provide up to a maximum of 5000 samples to be\ncreated; a larger sample size will cause an INVALID_ARGUMENT error",
      "id": "BatchCreatePerfSamplesRequest",
      "properties": {
        "perfSamples": {
          "description": "The set of PerfSamples to create should not include existing timestamps",
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchCreatePerfSamplesResponse": {
      "id": "BatchCreatePerfSamplesResponse",
      "properties": {
        "perfSamples": {
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BlankScreen": {
      "description": "A warning that Robo encountered a screen that was mostly blank; this may\nindicate a problem with the app.",
      "id": "BlankScreen",
      "properties": {
        "screenId": {
          "description": "The screen id of the element",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CPUInfo": {
      "id": "CPUInfo",
      "properties": {
        "cpuProcessor": {
          "description": "description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'",
          "type": "string"
        },
        "cpuSpeedInGhz": {
          "description": "the CPU clock speed in GHz",
          "format": "float",
          "type": "number"
        },
        "numberOfCores": {
          "description": "the number of CPU cores",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "CrashDialogError": {
      "description": "Crash dialog was detected during the test execution",
      "id": "CrashDialogError",
      "properties": {
        "crashPackage": {
          "description": "The name of the package that caused the dialog.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Duration": {
      "description": "\nA Duration represents a signed, fixed-length span of time represented\nas a count of seconds and fractions of seconds at nanosecond\nresolution. It is independent of any calendar and concepts like \"day\"\nor \"month\". It is related to Timestamp in that the difference between\ntwo Timestamp values is a Duration and it can be added or subtracted\nfrom a Timestamp. Range is approximately +-10,000 years.",
      "id": "Duration",
      "properties": {
        "nanos": {
          "description": "Signed fractions of a second at nanosecond resolution of the span\nof time. Durations less than one second are represented with a 0\n`seconds` field and a positive or negative `nanos` field. For durations\nof one second or more, a non-zero value for the `nanos` field must be\nof the same sign as the `seconds` field. Must be from -999,999,999\nto +999,999,999 inclusive.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Signed seconds of the span of time. Must be from -315,576,000,000\nto +315,576,000,000 inclusive. Note: these bounds are computed from:\n60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EncounteredLoginScreen": {
      "description": "Additional details about encountered login screens.",
      "id": "EncounteredLoginScreen",
      "properties": {
        "distinctScreens": {
          "description": "Number of encountered distinct login screens.",
          "format": "int32",
          "type": "integer"
        },
        "screenIds": {
          "description": "Subset of login screens.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EncounteredNonAndroidUiWidgetScreen": {
      "description": "Additional details about encountered screens with elements that are not\nAndroid UI widgets.",
      "id": "EncounteredNonAndroidUiWidgetScreen",
      "properties": {
        "distinctScreens": {
          "description": "Number of encountered distinct screens with non Android UI widgets.",
          "format": "int32",
          "type": "integer"
        },
        "screenIds": {
          "description": "Subset of screens which contain non Android UI widgets.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Environment": {
      "description": "An Environment represents the set of test runs (Steps) from the parent\nExecution that are configured with the same set of dimensions (Model,\nVersion, Locale, and Orientation). Multiple such runs occur particularly\nbecause of features like sharding (splitting up a test suite to run in\nparallel across devices) and reruns (running a test multiple times to check\nfor different outcomes).",
      "id": "Environment",
      "properties": {
        "completionTime": {
          "$ref": "Timestamp",
          "description": "Output only. The time when the Environment status was set to complete.\n\nThis value will be set automatically when state transitions to\nCOMPLETE."
        },
        "creationTime": {
          "$ref": "Timestamp",
          "description": "Output only. The time when the Environment was created."
        },
        "dimensionValue": {
          "description": "Dimension values describing the environment. Dimension values always\nconsist of \"Model\", \"Version\", \"Locale\", and \"Orientation\".\n\n- In response: always set\n- In create request: always set\n- In update request: never set",
          "items": {
            "$ref": "EnvironmentDimensionValueEntry"
          },
          "type": "array"
        },
        "displayName": {
          "description": "A short human-readable name to display in the UI.\nMaximum of 100 characters.\nFor example: Nexus 5, API 27.",
          "type": "string"
        },
        "environmentId": {
          "description": "Output only. An Environment id.",
          "type": "string"
        },
        "environmentResult": {
          "$ref": "MergedResult",
          "description": "Merged result of the environment."
        },
        "executionId": {
          "description": "Output only. An Execution id.",
          "type": "string"
        },
        "historyId": {
          "description": "Output only. A History id.",
          "type": "string"
        },
        "projectId": {
          "description": "Output only. A Project id.",
          "type": "string"
        },
        "resultsStorage": {
          "$ref": "ResultsStorage",
          "description": "The location where output files are stored in the user bucket."
        },
        "shardSummaries": {
          "description": "Output only. Summaries of shards.\n\nOnly one shard will present unless sharding feature is enabled in\nTestExecutionService.",
          "items": {
            "$ref": "ShardSummary"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EnvironmentDimensionValueEntry": {
      "id": "EnvironmentDimensionValueEntry",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Execution": {
      "description": "An Execution represents a collection of Steps. For instance, it could\nrepresent:\n   - a mobile test executed across a range of device configurations\n   - a jenkins job with a build step followed by a test step\n\nThe maximum size of an execution message is 1 MiB.\n\nAn Execution can be updated until its state is set to COMPLETE at which\npoint it becomes immutable.",
      "id": "Execution",
      "properties": {
        "completionTime": {
          "$ref": "Timestamp",
          "description": "The time when the Execution status transitioned to COMPLETE.\n\nThis value will be set automatically when state transitions to\nCOMPLETE.\n\n- In response: set if the execution state is COMPLETE.\n- In create/update request: never set"
        },
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The time when the Execution was created.\n\nThis value will be set automatically when CreateExecution is called.\n\n- In response: always set\n- In create/update request: never set"
        },
        "dimensionDefinitions": {
          "description": "The dimensions along which different steps in this execution may vary.\nThis must remain fixed over the life of the execution.\n\nReturns INVALID_ARGUMENT if this field is set in an update request.\n\nReturns INVALID_ARGUMENT if the same name occurs in more than one\ndimension_definition.\n\nReturns INVALID_ARGUMENT if the size of the list is over 100.\n\n- In response: present if set by create\n- In create request: optional\n- In update request: never set",
          "items": {
            "$ref": "MatrixDimensionDefinition"
          },
          "type": "array"
        },
        "executionId": {
          "description": "A unique identifier within a History for this Execution.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response always set\n- In create/update request: never set",
          "type": "string"
        },
        "outcome": {
          "$ref": "Outcome",
          "description": "Classify the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request\n- In create/update request: optional"
        },
        "specification": {
          "$ref": "Specification",
          "description": "Lightweight information about execution request.\n\n- In response: present if set by create\n- In create: optional\n- In update: optional"
        },
        "state": {
          "description": "The initial state is IN_PROGRESS.\n\nThe only legal state transitions is from IN_PROGRESS to COMPLETE.\n\nA PRECONDITION_FAILED will be returned if an invalid transition is\nrequested.\n\nThe state can only be set to COMPLETE once. A FAILED_PRECONDITION will be\nreturned if the state is set to COMPLETE multiple times.\n\nIf the state is set to COMPLETE, all the in-progress steps within the\nexecution will be set as COMPLETE. If the outcome of the step is not set,\nthe outcome will be set to INCONCLUSIVE.\n\n- In response always set\n- In create/update request: optional",
          "enum": [
            "UNKNOWN_STATE",
            "PENDING",
            "IN_PROGRESS",
            "COMPLETE"
          ],
          "enumDescriptions": [
            "Should never be in this state. Exists for proto deserialization backward\ncompatibility.",
            "The Execution/Step is created, ready to run, but not running yet.\nIf an Execution/Step is created without initial state, it is assumed\nthat the Execution/Step is in PENDING state.",
            "The Execution/Step is in progress.",
            "The finalized, immutable state. Steps/Executions in this state cannot be\nmodified."
          ],
          "type": "string"
        },
        "testExecutionMatrixId": {
          "description": "TestExecution Matrix ID that the TestExecutionService uses.\n\n- In response: present if set by create\n- In create: optional\n- In update: never set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FailedToInstall": {
      "description": "Failed to install the APK.",
      "id": "FailedToInstall",
      "properties": {},
      "type": "object"
    },
    "FailureDetail": {
      "description": "Details for an outcome with a FAILURE outcome summary.",
      "id": "FailureDetail",
      "properties": {
        "crashed": {
          "description": "If the failure was severe because the system (app) under test crashed.",
          "type": "boolean"
        },
        "notInstalled": {
          "description": "If an app is not installed and thus no test can be run with the app.\nThis might be caused by trying to run a test on an unsupported platform.",
          "type": "boolean"
        },
        "otherNativeCrash": {
          "description": "If a native process (including any other than the app) crashed.",
          "type": "boolean"
        },
        "timedOut": {
          "description": "If the test overran some time limit, and that is why it failed.",
          "type": "boolean"
        },
        "unableToCrawl": {
          "description": "If the robo was unable to crawl the app; perhaps because the app did not\nstart.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FatalException": {
      "description": "Additional details for a fatal exception.",
      "id": "FatalException",
      "properties": {
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "The stack trace of the fatal exception.\nOptional."
        }
      },
      "type": "object"
    },
    "FileReference": {
      "description": "A reference to a file.",
      "id": "FileReference",
      "properties": {
        "fileUri": {
          "description": "The URI of a file stored in Google Cloud Storage.\n\nFor example: http://storage.googleapis.com/mybucket/path/to/test.xml\nor in gsutil format: gs://mybucket/path/to/test.xml\nwith version-specific info,\ngs://mybucket/path/to/test.xml#1360383693690000\n\nAn INVALID_ARGUMENT error will be returned if the URI format is not\nsupported.\n\n- In response: always set\n- In create/update request: always set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GraphicsStats": {
      "description": "Graphics statistics for the App.\nThe information is collected from 'adb shell dumpsys graphicsstats'.\nFor more info see:\nhttps://developer.android.com/training/testing/performance.html\nStatistics will only be present for API 23+.",
      "id": "GraphicsStats",
      "properties": {
        "buckets": {
          "description": "Histogram of frame render times. There should be 154 buckets ranging from\n[5ms, 6ms) to [4950ms, infinity)",
          "items": {
            "$ref": "GraphicsStatsBucket"
          },
          "type": "array"
        },
        "highInputLatencyCount": {
          "description": "Total \"high input latency\" events.",
          "format": "int64",
          "type": "string"
        },
        "jankyFrames": {
          "description": "Total frames with slow render time. Should be \u003c= total_frames.",
          "format": "int64",
          "type": "string"
        },
        "missedVsyncCount": {
          "description": "Total \"missed vsync\" events.",
          "format": "int64",
          "type": "string"
        },
        "p50Millis": {
          "description": "50th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p90Millis": {
          "description": "90th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p95Millis": {
          "description": "95th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p99Millis": {
          "description": "99th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "slowBitmapUploadCount": {
          "description": "Total \"slow bitmap upload\" events.",
          "format": "int64",
          "type": "string"
        },
        "slowDrawCount": {
          "description": "Total \"slow draw\" events.",
          "format": "int64",
          "type": "string"
        },
        "slowUiThreadCount": {
          "description": "Total \"slow UI thread\" events.",
          "format": "int64",
          "type": "string"
        },
        "totalFrames": {
          "description": "Total frames rendered by package.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GraphicsStatsBucket": {
      "id": "GraphicsStatsBucket",
      "properties": {
        "frameCount": {
          "description": "Number of frames in the bucket.",
          "format": "int64",
          "type": "string"
        },
        "renderMillis": {
          "description": "Lower bound of render time in milliseconds.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "History": {
      "description": "A History represents a sorted list of Executions ordered by the\nstart_timestamp_millis field (descending). It can be used to group all the\nExecutions of a continuous build.\n\nNote that the ordering only operates on one-dimension. If a repository has\nmultiple branches, it means that multiple histories will need to be\nused in order to order Executions per branch.",
      "id": "History",
      "properties": {
        "displayName": {
          "description": "A short human-readable (plain text) name to display in the UI.\nMaximum of 100 characters.\n\n- In response: present if set during create.\n- In create request: optional",
          "type": "string"
        },
        "historyId": {
          "description": "A unique identifier within a project for this History.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response always set\n- In create request: never set",
          "type": "string"
        },
        "name": {
          "description": "A name to uniquely identify a history within a project.\nMaximum of 200 characters.\n\n- In response always set\n- In create request: always set",
          "type": "string"
        },
        "testPlatform": {
          "description": "The platform of the test history.\n\n- In response: always set. Returns the platform of the last execution if\nunknown.",
          "enum": [
            "UNKNOWN_PLATFORM",
            "ANDROID",
            "IOS"
          ],
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Image": {
      "description": "An image, with a link to the main image and a thumbnail.",
      "id": "Image",
      "properties": {
        "error": {
          "$ref": "Status",
          "description": "An error explaining why the thumbnail could not be rendered."
        },
        "sourceImage": {
          "$ref": "ToolOutputReference",
          "description": "A reference to the full-size, original image.\n\nThis is the same as the tool_outputs entry for the image under its Step.\n\nAlways set."
        },
        "stepId": {
          "description": "The step to which the image is attached.\n\nAlways set.",
          "type": "string"
        },
        "thumbnail": {
          "$ref": "Thumbnail",
          "description": "The thumbnail."
        }
      },
      "type": "object"
    },
    "InAppPurchasesFound": {
      "description": "Additional details of in-app purchases encountered during the crawl.",
      "id": "InAppPurchasesFound",
      "properties": {
        "inAppPurchasesFlowsExplored": {
          "description": "The total number of in-app purchases flows explored: how many times the\nrobo tries to buy a SKU.",
          "format": "int32",
          "type": "integer"
        },
        "inAppPurchasesFlowsStarted": {
          "description": "The total number of in-app purchases flows started.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "InconclusiveDetail": {
      "description": "Details for an outcome with an INCONCLUSIVE outcome summary.",
      "id": "InconclusiveDetail",
      "properties": {
        "abortedByUser": {
          "description": "If the end user aborted the test execution before a pass or fail could be\ndetermined.\nFor example, the user pressed ctrl-c which sent a kill signal to the test\nrunner while the test was running.",
          "type": "boolean"
        },
        "hasErrorLogs": {
          "description": "If results are being provided to the user in certain cases of\ninfrastructure failures",
          "type": "boolean"
        },
        "infrastructureFailure": {
          "description": "If the test runner could not determine success or failure because the test\ndepends on a component other than the system under test which failed.\n\nFor example, a mobile test requires provisioning a device where the test\nexecutes, and that provisioning can fail.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "IndividualOutcome": {
      "description": "Step Id and outcome of each individual step that was run as a group with\nother steps with the same configuration.",
      "id": "IndividualOutcome",
      "properties": {
        "multistepNumber": {
          "description": "Unique int given to each step.\nRanges from 0(inclusive) to total number of steps(exclusive).\nThe primary step is 0.",
          "format": "int32",
          "type": "integer"
        },
        "outcomeSummary": {
          "enum": [
            "UNSET",
            "SUCCESS",
            "FAILURE",
            "INCONCLUSIVE",
            "SKIPPED",
            "FLAKY"
          ],
          "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.",
            "A group of steps that were run with the same configuration had both\nfailure and success outcomes."
          ],
          "type": "string"
        },
        "runDuration": {
          "$ref": "Duration",
          "description": "How long it took for this step to run."
        },
        "stepId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "InsufficientCoverage": {
      "description": "A warning that Robo did not crawl potentially important parts of the app.",
      "id": "InsufficientCoverage",
      "properties": {},
      "type": "object"
    },
    "IosAppCrashed": {
      "description": "Additional details for an iOS app crash.",
      "id": "IosAppCrashed",
      "properties": {
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "The stack trace, if one is available.\nOptional."
        }
      },
      "type": "object"
    },
    "IosAppInfo": {
      "description": "iOS app information",
      "id": "IosAppInfo",
      "properties": {
        "name": {
          "description": "The name of the app.\nRequired",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IosRoboTest": {
      "description": "A Robo test for an iOS application.",
      "id": "IosRoboTest",
      "properties": {},
      "type": "object"
    },
    "IosTest": {
      "description": "A iOS mobile test specification",
      "id": "IosTest",
      "properties": {
        "iosAppInfo": {
          "$ref": "IosAppInfo",
          "description": "Information about the application under test."
        },
        "iosRoboTest": {
          "$ref": "IosRoboTest",
          "description": "An iOS Robo test."
        },
        "iosTestLoop": {
          "$ref": "IosTestLoop",
          "description": "An iOS test loop."
        },
        "iosXcTest": {
          "$ref": "IosXcTest",
          "description": "An iOS XCTest."
        },
        "testTimeout": {
          "$ref": "Duration",
          "description": "Max time a test is allowed to run before it is\nautomatically cancelled."
        }
      },
      "type": "object"
    },
    "IosTestLoop": {
      "description": "A game loop test of an iOS application.",
      "id": "IosTestLoop",
      "properties": {
        "bundleId": {
          "description": "Bundle ID of the app.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IosXcTest": {
      "description": "A test of an iOS application that uses the XCTest framework.",
      "id": "IosXcTest",
      "properties": {
        "bundleId": {
          "description": "Bundle ID of the app.",
          "type": "string"
        },
        "xcodeVersion": {
          "description": "Xcode version that the test was run with.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LauncherActivityNotFound": {
      "description": "Failed to find the launcher activity of an app.",
      "id": "LauncherActivityNotFound",
      "properties": {},
      "type": "object"
    },
    "ListEnvironmentsResponse": {
      "description": "Response message for EnvironmentService.ListEnvironments.",
      "id": "ListEnvironmentsResponse",
      "properties": {
        "environments": {
          "description": "Environments.\n\nAlways set.",
          "items": {
            "$ref": "Environment"
          },
          "type": "array"
        },
        "executionId": {
          "description": "A Execution id\n\nAlways set.",
          "type": "string"
        },
        "historyId": {
          "description": "A History id.\n\nAlways set.",
          "type": "string"
        },
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nWill only be set if there are more Environments to fetch.",
          "type": "string"
        },
        "projectId": {
          "description": "A Project id.\n\nAlways set.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListExecutionsResponse": {
      "id": "ListExecutionsResponse",
      "properties": {
        "executions": {
          "description": "Executions.\n\nAlways set.",
          "items": {
            "$ref": "Execution"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nWill only be set if there are more Executions to fetch.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListHistoriesResponse": {
      "description": "Response message for HistoryService.List",
      "id": "ListHistoriesResponse",
      "properties": {
        "histories": {
          "description": "Histories.",
          "items": {
            "$ref": "History"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nWill only be set if there are more histories to fetch.\n\nTokens are valid for up to one hour from the time of the first list\nrequest. For instance, if you make a list request at 1PM and use the token\nfrom this first request 10 minutes later, the token from this second\nresponse will only be valid for 50 minutes.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListPerfSampleSeriesResponse": {
      "id": "ListPerfSampleSeriesResponse",
      "properties": {
        "perfSampleSeries": {
          "description": "The resulting PerfSampleSeries sorted by id",
          "items": {
            "$ref": "PerfSampleSeries"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListPerfSamplesResponse": {
      "id": "ListPerfSamplesResponse",
      "properties": {
        "nextPageToken": {
          "description": "Optional, returned if result size exceeds the page size specified in the\nrequest (or the default page size, 500, if unspecified). It indicates the\nlast sample timestamp to be used as page_token in subsequent request",
          "type": "string"
        },
        "perfSamples": {
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListScreenshotClustersResponse": {
      "id": "ListScreenshotClustersResponse",
      "properties": {
        "clusters": {
          "description": "The set of clusters associated with an execution\nAlways set",
          "items": {
            "$ref": "ScreenshotCluster"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListStepAccessibilityClustersResponse": {
      "description": "Response message for AccessibilityService.ListStepAccessibilityClusters.",
      "id": "ListStepAccessibilityClustersResponse",
      "properties": {
        "clusters": {
          "description": "A sequence of accessibility suggestions, grouped into clusters.\nWithin the sequence, clusters that belong to the same SuggestionCategory\nshould be adjacent.\nWithin each category, clusters should be ordered by their\nSuggestionPriority (ERRORs first).\nThe categories should be ordered by their highest priority cluster.",
          "items": {
            "$ref": "SuggestionClusterProto"
          },
          "type": "array"
        },
        "name": {
          "description": "A full resource name of the step.\nFor example, projects/my-project/histories/bh.1234567890abcdef/executions/\n1234567890123456789/steps/bs.1234567890abcdef\n\nAlways presents.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListStepThumbnailsResponse": {
      "description": "A response containing the thumbnails in a step.",
      "id": "ListStepThumbnailsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nIf set, indicates that there are more thumbnails to read, by calling list\nagain with this value in the page_token field.",
          "type": "string"
        },
        "thumbnails": {
          "description": "A list of image data.\n\nImages are returned in a deterministic order; they are ordered by these\nfactors, in order of\nimportance:\n* First, by their associated test case. Images without a test case are\n  considered greater than images with one.\n* Second, by their creation time. Images without a creation time are\n  greater than images with one.\n* Third, by the order in which they were added to the step (by calls to\n  CreateStep or UpdateStep).",
          "items": {
            "$ref": "Image"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListStepsResponse": {
      "description": "Response message for StepService.List.",
      "id": "ListStepsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nIf set, indicates that there are more steps to read, by calling list again\nwith this value in the page_token field.",
          "type": "string"
        },
        "steps": {
          "description": "Steps.",
          "items": {
            "$ref": "Step"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTestCasesResponse": {
      "description": "Response message for StepService.ListTestCases.",
      "id": "ListTestCasesResponse",
      "properties": {
        "nextPageToken": {
          "type": "string"
        },
        "testCases": {
          "description": "List of test cases.",
          "items": {
            "$ref": "TestCase"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MatrixDimensionDefinition": {
      "description": "One dimension of the matrix of different runs of a step.",
      "id": "MatrixDimensionDefinition",
      "properties": {},
      "type": "object"
    },
    "MemoryInfo": {
      "id": "MemoryInfo",
      "properties": {
        "memoryCapInKibibyte": {
          "description": "Maximum memory that can be allocated to the process in KiB",
          "format": "int64",
          "type": "string"
        },
        "memoryTotalInKibibyte": {
          "description": "Total memory available on the device in KiB",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MergedResult": {
      "description": "Merged test result for environment.\n\nIf the environment has only one step (no reruns or shards), then the merged\nresult is the same as the step result. If the environment has multiple shards\nand/or reruns, then the results of shards and reruns that belong to the same\nenvironment are merged into one environment result.",
      "id": "MergedResult",
      "properties": {
        "outcome": {
          "$ref": "Outcome",
          "description": "Outcome of the resource"
        },
        "state": {
          "description": "State of the resource",
          "enum": [
            "UNKNOWN_STATE",
            "PENDING",
            "IN_PROGRESS",
            "COMPLETE"
          ],
          "enumDescriptions": [
            "Should never be in this state. Exists for proto deserialization backward\ncompatibility.",
            "The Execution/Step is created, ready to run, but not running yet.\nIf an Execution/Step is created without initial state, it is assumed\nthat the Execution/Step is in PENDING state.",
            "The Execution/Step is in progress.",
            "The finalized, immutable state. Steps/Executions in this state cannot be\nmodified."
          ],
          "type": "string"
        },
        "testSuiteOverviews": {
          "description": "The combined and rolled-up result of each test suite that was run as part\n of this environment.\n\n Combining:\n When the test cases from a suite are run in different steps (sharding),\n the results are added back together in one overview. (e.g., if shard1 has\n 2 failures and shard2 has 1 failure than the overview failure_count = 3).\n\n Rollup:\n When test cases from the same suite are run multiple times (flaky), the\n results are combined (e.g., if testcase1.run1 fails, testcase1.run2\n passes, and both testcase2.run1 and testcase2.run2 fail then the overview\n flaky_count = 1 and failure_count = 1).",
          "items": {
            "$ref": "TestSuiteOverview"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MultiStep": {
      "description": "Details when multiple steps are run with the same configuration as a group.",
      "id": "MultiStep",
      "properties": {
        "multistepNumber": {
          "description": "Unique int given to each step.\nRanges from 0(inclusive) to total number of steps(exclusive).\nThe primary step is 0.",
          "format": "int32",
          "type": "integer"
        },
        "primaryStep": {
          "$ref": "PrimaryStep",
          "description": "Present if it is a primary (original) step."
        },
        "primaryStepId": {
          "description": "Step Id of the primary (original) step, which might be this step.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NativeCrash": {
      "description": "Additional details for a native crash.",
      "id": "NativeCrash",
      "properties": {
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "The stack trace of the native crash.\nOptional."
        }
      },
      "type": "object"
    },
    "NonSdkApi": {
      "description": "A non-sdk API and examples of it being called along with other metadata\nSee\nhttps://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces",
      "id": "NonSdkApi",
      "properties": {
        "apiSignature": {
          "description": "The signature of the Non-SDK API",
          "type": "string"
        },
        "exampleStackTraces": {
          "description": "Example stack traces of this API being called.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "insights": {
          "description": "Optional debugging insights for non-SDK API violations.",
          "items": {
            "$ref": "NonSdkApiInsight"
          },
          "type": "array"
        },
        "invocationCount": {
          "description": "The total number of times this API was observed to have been called.",
          "format": "int32",
          "type": "integer"
        },
        "list": {
          "description": "Which list this API appears on",
          "enum": [
            "NONE",
            "WHITE",
            "BLACK",
            "GREY",
            "GREY_MAX_O",
            "GREY_MAX_P",
            "GREY_MAX_Q"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "NonSdkApiInsight": {
      "description": "Non-SDK API insights (to address debugging solutions).",
      "id": "NonSdkApiInsight",
      "properties": {
        "exampleTraceMessages": {
          "description": "Optional sample stack traces, for which this insight applies (there\nshould be at least one).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "matcherId": {
          "description": "A unique ID, to be used for determining the effectiveness of this\nparticular insight in the context of a matcher. (required)",
          "type": "string"
        },
        "pendingGoogleUpdateInsight": {
          "$ref": "PendingGoogleUpdateInsight",
          "description": "An insight indicating that the hidden API usage originates from a\nGoogle-provided library."
        },
        "upgradeInsight": {
          "$ref": "UpgradeInsight",
          "description": "An insight indicating that the hidden API usage originates from the\nuse of a library that needs to be upgraded."
        }
      },
      "type": "object"
    },
    "NonSdkApiUsageViolation": {
      "description": "Additional details for a non-sdk API usage violation.",
      "id": "NonSdkApiUsageViolation",
      "properties": {
        "apiSignatures": {
          "description": "Signatures of a subset of those hidden API's.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "uniqueApis": {
          "description": "Total number of unique hidden API's accessed.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "NonSdkApiUsageViolationReport": {
      "description": "Contains a summary and examples of non-sdk API usage violations.",
      "id": "NonSdkApiUsageViolationReport",
      "properties": {
        "exampleApis": {
          "description": "Examples of the detected API usages.",
          "items": {
            "$ref": "NonSdkApi"
          },
          "type": "array"
        },
        "minSdkVersion": {
          "description": "Minimum API level required for the application to run.",
          "format": "int32",
          "type": "integer"
        },
        "targetSdkVersion": {
          "description": "Specifies the API Level on which the application is designed to run.",
          "format": "int32",
          "type": "integer"
        },
        "uniqueApis": {
          "description": "Total number of unique Non-SDK API's accessed.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Outcome": {
      "description": "Interprets a result so that humans and machines can act on it.",
      "id": "Outcome",
      "properties": {
        "failureDetail": {
          "$ref": "FailureDetail",
          "description": "More information about a FAILURE outcome.\n\nReturns INVALID_ARGUMENT if this field is set\nbut the summary is not FAILURE.\n\nOptional"
        },
        "inconclusiveDetail": {
          "$ref": "InconclusiveDetail",
          "description": "More information about an INCONCLUSIVE outcome.\n\nReturns INVALID_ARGUMENT if this field is set\nbut the summary is not INCONCLUSIVE.\n\nOptional"
        },
        "skippedDetail": {
          "$ref": "SkippedDetail",
          "description": "More information about a SKIPPED outcome.\n\nReturns INVALID_ARGUMENT if this field is set\nbut the summary is not SKIPPED.\n\nOptional"
        },
        "successDetail": {
          "$ref": "SuccessDetail",
          "description": "More information about a SUCCESS outcome.\n\nReturns INVALID_ARGUMENT if this field is set\nbut the summary is not SUCCESS.\n\nOptional"
        },
        "summary": {
          "description": "The simplest way to interpret a result.\n\nRequired",
          "enum": [
            "UNSET",
            "SUCCESS",
            "FAILURE",
            "INCONCLUSIVE",
            "SKIPPED",
            "FLAKY"
          ],
          "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.",
            "A group of steps that were run with the same configuration had both\nfailure and success outcomes."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "OverlappingUIElements": {
      "description": "A warning that Robo encountered a screen that has overlapping clickable\nelements; this may indicate a potential UI issue.",
      "id": "OverlappingUIElements",
      "properties": {
        "resourceName": {
          "description": "Resource names of the overlapping screen elements",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "screenId": {
          "description": "The screen id of the elements",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PendingGoogleUpdateInsight": {
      "description": "This insight indicates that the hidden API usage originates from a\nGoogle-provided library. Users need not take any action.",
      "id": "PendingGoogleUpdateInsight",
      "properties": {
        "nameOfGoogleLibrary": {
          "description": "The name of the Google-provided library with the non-SDK API dependency.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerfEnvironment": {
      "description": "Encapsulates performance environment info",
      "id": "PerfEnvironment",
      "properties": {
        "cpuInfo": {
          "$ref": "CPUInfo",
          "description": "CPU related environment info"
        },
        "memoryInfo": {
          "$ref": "MemoryInfo",
          "description": "Memory related environment info"
        }
      },
      "type": "object"
    },
    "PerfMetricsSummary": {
      "description": "A summary of perf metrics collected and performance environment info",
      "id": "PerfMetricsSummary",
      "properties": {
        "appStartTime": {
          "$ref": "AppStartTime"
        },
        "executionId": {
          "description": "A tool results execution ID.\n@OutputOnly",
          "type": "string"
        },
        "graphicsStats": {
          "$ref": "GraphicsStats",
          "description": "Graphics statistics for the entire run. Statistics are reset at the\nbeginning of the run and collected at the end of the run."
        },
        "historyId": {
          "description": "A tool results history ID.\n@OutputOnly",
          "type": "string"
        },
        "perfEnvironment": {
          "$ref": "PerfEnvironment",
          "description": "Describes the environment in which the performance metrics were collected"
        },
        "perfMetrics": {
          "description": "Set of resource collected",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "items": {
            "enum": [
              "PERF_METRIC_TYPE_UNSPECIFIED",
              "MEMORY",
              "CPU",
              "NETWORK",
              "GRAPHICS"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "projectId": {
          "description": "The cloud project\n@OutputOnly",
          "type": "string"
        },
        "stepId": {
          "description": "A tool results step ID.\n@OutputOnly",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerfSample": {
      "description": "Resource representing a single performance measure or data point",
      "id": "PerfSample",
      "properties": {
        "sampleTime": {
          "$ref": "Timestamp",
          "description": "Timestamp of collection."
        },
        "value": {
          "description": "Value observed",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "PerfSampleSeries": {
      "description": "Resource representing a collection of performance samples (or data points)",
      "id": "PerfSampleSeries",
      "properties": {
        "basicPerfSampleSeries": {
          "$ref": "BasicPerfSampleSeries",
          "description": "Basic series represented by a line chart"
        },
        "executionId": {
          "description": "A tool results execution ID.\n@OutputOnly",
          "type": "string"
        },
        "historyId": {
          "description": "A tool results history ID.\n@OutputOnly",
          "type": "string"
        },
        "projectId": {
          "description": "The cloud project\n@OutputOnly",
          "type": "string"
        },
        "sampleSeriesId": {
          "description": "A sample series id\n@OutputOnly",
          "type": "string"
        },
        "stepId": {
          "description": "A tool results step ID.\n@OutputOnly",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerformedGoogleLogin": {
      "description": "A notification that Robo signed in with Google.",
      "id": "PerformedGoogleLogin",
      "properties": {},
      "type": "object"
    },
    "PerformedMonkeyActions": {
      "description": "A notification that Robo performed some monkey actions.",
      "id": "PerformedMonkeyActions",
      "properties": {
        "totalActions": {
          "description": "The total number of monkey actions performed during the crawl.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PrimaryStep": {
      "description": "Stores rollup test status of multiple steps that were run as a group and\noutcome of each individual step.",
      "id": "PrimaryStep",
      "properties": {
        "individualOutcome": {
          "description": "Step Id and outcome of each individual step.",
          "items": {
            "$ref": "IndividualOutcome"
          },
          "type": "array"
        },
        "rollUp": {
          "description": "Rollup test status of multiple steps that were run with the same\nconfiguration as a group.",
          "enum": [
            "UNSET",
            "SUCCESS",
            "FAILURE",
            "INCONCLUSIVE",
            "SKIPPED",
            "FLAKY"
          ],
          "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.",
            "A group of steps that were run with the same configuration had both\nfailure and success outcomes."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProjectSettings": {
      "description": "Per-project settings for the Tool Results service.",
      "id": "ProjectSettings",
      "properties": {
        "defaultBucket": {
          "description": "The name of the Google Cloud Storage bucket to which results are written.\n\nBy default, this is unset.\n\nIn update request: optional\nIn response: optional",
          "type": "string"
        },
        "name": {
          "description": "The name of the project's settings.\n\nAlways of the form:\nprojects/{project-id}/settings\n\nIn update request: never set\nIn response: always set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PublishXunitXmlFilesRequest": {
      "description": "Request message for StepService.PublishXunitXmlFiles.",
      "id": "PublishXunitXmlFilesRequest",
      "properties": {
        "xunitXmlFiles": {
          "description": "URI of the Xunit XML files to publish.\n\nThe maximum size of the file this reference is pointing to is 50MB.\n\nRequired.",
          "items": {
            "$ref": "FileReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RegionProto": {
      "description": "A rectangular region.",
      "id": "RegionProto",
      "properties": {
        "heightPx": {
          "description": "The height, in pixels.\nAlways set.",
          "format": "int32",
          "type": "integer"
        },
        "leftPx": {
          "description": "The left side of the rectangle, in pixels.\nAlways set.",
          "format": "int32",
          "type": "integer"
        },
        "topPx": {
          "description": "The top of the rectangle, in pixels.\nAlways set.",
          "format": "int32",
          "type": "integer"
        },
        "widthPx": {
          "description": "The width, in pixels.\nAlways set.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ResultsStorage": {
      "description": "The storage for test results.",
      "id": "ResultsStorage",
      "properties": {
        "resultsStoragePath": {
          "$ref": "FileReference",
          "description": "The root directory for test results."
        },
        "xunitXmlFile": {
          "$ref": "FileReference",
          "description": "The path to the Xunit XML file."
        }
      },
      "type": "object"
    },
    "RoboScriptExecution": {
      "description": "Execution stats for a user-provided Robo script.",
      "id": "RoboScriptExecution",
      "properties": {
        "successfulActions": {
          "description": "The number of Robo script actions executed successfully.",
          "format": "int32",
          "type": "integer"
        },
        "totalActions": {
          "description": "The total number of actions in the Robo script.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "SafeHtmlProto": {
      "description": "IMPORTANT: It is unsafe to accept this message from an untrusted source,\nsince it's trivial for an attacker to forge serialized messages that\ndon't fulfill the type's safety contract -- for example, it could contain\nattacker controlled script. A system which receives a SafeHtmlProto\nimplicitly trusts the producer of the SafeHtmlProto. So, it's generally safe\nto return this message in RPC responses, but generally unsafe to accept it\nin RPC requests.",
      "id": "SafeHtmlProto",
      "properties": {
        "privateDoNotAccessOrElseSafeHtmlWrappedValue": {
          "description": "IMPORTANT: Never set or read this field, even from tests, it is private.\nSee documentation at the top of .proto file for programming language\npackages with which to create or read this message.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Screen": {
      "id": "Screen",
      "properties": {
        "fileReference": {
          "description": "File reference of the png file.\nRequired.",
          "type": "string"
        },
        "locale": {
          "description": "Locale of the device that the screenshot was taken on.\nRequired.",
          "type": "string"
        },
        "model": {
          "description": "Model of the device that the screenshot was taken on.\nRequired.",
          "type": "string"
        },
        "version": {
          "description": "OS version of the device that the screenshot was taken on.\nRequired.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ScreenshotCluster": {
      "id": "ScreenshotCluster",
      "properties": {
        "activity": {
          "description": "A string that describes the activity of every screen in the cluster.",
          "type": "string"
        },
        "clusterId": {
          "description": "A unique identifier for the cluster.\n@OutputOnly",
          "type": "string"
        },
        "keyScreen": {
          "$ref": "Screen",
          "description": "A singular screen that represents the cluster as a whole. This screen will\nact as the \"cover\" of the entire cluster. When users look at the clusters,\nonly the key screen from each cluster will be shown. Which screen is the\nkey screen is determined by the ClusteringAlgorithm"
        },
        "screens": {
          "description": "Full list of screens.",
          "items": {
            "$ref": "Screen"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ShardSummary": {
      "description": "Result summary for a shard in an environment.",
      "id": "ShardSummary",
      "properties": {
        "runs": {
          "description": "Summaries of the steps belonging to the shard.\n\nWith flaky_test_attempts enabled from TestExecutionService, more than one\nrun (Step) can present. And the runs will be sorted by multistep_number.",
          "items": {
            "$ref": "StepSummary"
          },
          "type": "array"
        },
        "shardResult": {
          "$ref": "MergedResult",
          "description": "Merged result of the shard."
        }
      },
      "type": "object"
    },
    "SkippedDetail": {
      "description": "Details for an outcome with a SKIPPED outcome summary.",
      "id": "SkippedDetail",
      "properties": {
        "incompatibleAppVersion": {
          "description": "If the App doesn't support the specific API level.",
          "type": "boolean"
        },
        "incompatibleArchitecture": {
          "description": "If the App doesn't run on the specific architecture, for example, x86.",
          "type": "boolean"
        },
        "incompatibleDevice": {
          "description": "If the requested OS version doesn't run on the specific device model.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Specification": {
      "description": "The details about how to run the execution.",
      "id": "Specification",
      "properties": {
        "androidTest": {
          "$ref": "AndroidTest",
          "description": "An Android mobile test execution specification."
        },
        "iosTest": {
          "$ref": "IosTest",
          "description": "An iOS mobile test execution specification."
        }
      },
      "type": "object"
    },
    "StackTrace": {
      "description": "A stacktrace.",
      "id": "StackTrace",
      "properties": {
        "exception": {
          "description": "The stack trace message.\n\nRequired",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StartActivityNotFound": {
      "description": "User provided intent failed to resolve to an activity.",
      "id": "StartActivityNotFound",
      "properties": {
        "action": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Step": {
      "description": "A Step represents a single operation performed as part of\nExecution. A step can be used to represent the execution of a tool (\nfor example a test runner execution or an execution of a compiler).\n\nSteps can overlap (for instance two steps might have the same\nstart time if some operations are done in parallel).\n\nHere is an example, let's consider that we have a continuous build is\nexecuting a test runner for each iteration. The workflow would look like:\n- user creates a Execution with id 1\n- user creates an TestExecutionStep with id 100 for Execution 1\n- user update TestExecutionStep with id 100 to add a raw xml log\n    + the service parses the xml logs and returns a TestExecutionStep with\n     updated TestResult(s).\n- user update the status of TestExecutionStep with id 100 to COMPLETE\n\nA Step can be updated until its state is set to COMPLETE at which\npoints it becomes immutable.\n\nNext tag: 27",
      "id": "Step",
      "properties": {
        "completionTime": {
          "$ref": "Timestamp",
          "description": "The time when the step status was set to complete.\n\nThis value will be set automatically when state transitions to\nCOMPLETE.\n\n- In response: set if the execution state is COMPLETE.\n- In create/update request: never set"
        },
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The time when the step was created.\n\n- In response: always set\n- In create/update request: never set"
        },
        "description": {
          "description": "A description of this tool\nFor example: mvn clean package -D skipTests=true\n\n- In response: present if set by create/update request\n- In create/update request: optional",
          "type": "string"
        },
        "deviceUsageDuration": {
          "$ref": "Duration",
          "description": "How much the device resource is used to perform the test.\n\nThis is the device usage used for billing purpose, which is different from\nthe run_duration, for example, infrastructure failure won't be charged for\ndevice usage.\n\nPRECONDITION_FAILED will be returned if one attempts to set a\ndevice_usage on a step which already has this field set.\n\n- In response: present if previously set.\n- In create request: optional\n- In update request: optional"
        },
        "dimensionValue": {
          "description": "If the execution containing this step has any dimension_definition set,\nthen this field allows the child to specify the values of the dimensions.\n\nThe keys must exactly match the dimension_definition of the execution.\n\nFor example, if the execution has\n`dimension_definition = ['attempt', 'device']`\nthen a step must define values for those dimensions, eg.\n`dimension_value = ['attempt': '1', 'device': 'Nexus 6']`\n\nIf a step does not participate in one dimension of the matrix,\nthe value for that dimension should be empty string.\nFor example, if one of the tests is executed by a runner which\ndoes not support retries, the step could have\n`dimension_value = ['attempt': '', 'device': 'Nexus 6']`\n\nIf the step does not participate in any dimensions of the matrix,\nit may leave dimension_value unset.\n\nA PRECONDITION_FAILED will be returned if any of the keys do not exist\nin the dimension_definition of the execution.\n\nA PRECONDITION_FAILED will be returned if another step in this execution\nalready has the same name and dimension_value, but differs on other data\nfields, for example, step field is different.\n\nA PRECONDITION_FAILED will be returned if dimension_value is set, and\nthere is a dimension_definition in the execution which is not specified\nas one of the keys.\n\n- In response: present if set by create\n- In create request: optional\n- In update request: never set",
          "items": {
            "$ref": "StepDimensionValueEntry"
          },
          "type": "array"
        },
        "hasImages": {
          "description": "Whether any of the outputs of this step are images whose\nthumbnails can be fetched with ListThumbnails.\n\n- In response: always set\n- In create/update request: never set",
          "type": "boolean"
        },
        "labels": {
          "description": "Arbitrary user-supplied key/value pairs that are associated with the\nstep.\n\nUsers are responsible for managing the key namespace such that keys\ndon't accidentally collide.\n\nAn INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or\nif the length of any of the keys or values exceeds 100 characters.\n\n- In response: always set\n- In create request: optional\n- In update request: optional; any new key/value pair will be added to the\n  map, and any new value for an existing key will update that key's value",
          "items": {
            "$ref": "StepLabelsEntry"
          },
          "type": "array"
        },
        "multiStep": {
          "$ref": "MultiStep",
          "description": "Details when multiple steps are run with the same configuration as a group.\nThese details can be used identify which group this step is part of.\nIt also identifies the groups 'primary step' which indexes all the group\nmembers.\n\n- In response: present if previously set.\n- In create request: optional, set iff this step was performed more than\nonce.\n- In update request: optional"
        },
        "name": {
          "description": "A short human-readable name to display in the UI.\nMaximum of 100 characters.\nFor example: Clean build\n\nA PRECONDITION_FAILED will be returned upon creating a new step if it\nshares its name and dimension_value with an existing step. If two steps\nrepresent a similar action, but have different dimension values, they\nshould share the same name. For instance, if the same set of tests is\nrun on two different platforms, the two steps should have the same name.\n\n- In response: always set\n- In create request: always set\n- In update request: never set",
          "type": "string"
        },
        "outcome": {
          "$ref": "Outcome",
          "description": "Classification of the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request\n- In create/update request: optional"
        },
        "runDuration": {
          "$ref": "Duration",
          "description": "How long it took for this step to run.\n\nIf unset, this is set to the difference between creation_time and\ncompletion_time when the step is set to the COMPLETE state. In some cases,\nit is appropriate to set this value separately: For instance, if a step is\ncreated, but the operation it represents is queued for a few minutes before\nit executes, it would be appropriate not to include the time spent queued\nin its run_duration.\n\nPRECONDITION_FAILED will be returned if one attempts to set a\nrun_duration on a step which already has this field set.\n\n- In response: present if previously set; always present on COMPLETE step\n- In create request: optional\n- In update request: optional"
        },
        "state": {
          "description": "The initial state is IN_PROGRESS.\nThe only legal state transitions are\n* IN_PROGRESS -\u003e COMPLETE\n\nA PRECONDITION_FAILED will be returned if an invalid transition is\nrequested.\n\nIt is valid to create Step with a state set to COMPLETE.\nThe state can only be set to COMPLETE once. A PRECONDITION_FAILED will be\nreturned if the state is set to COMPLETE multiple times.\n\n- In response: always set\n- In create/update request: optional",
          "enum": [
            "UNKNOWN_STATE",
            "PENDING",
            "IN_PROGRESS",
            "COMPLETE"
          ],
          "enumDescriptions": [
            "Should never be in this state. Exists for proto deserialization backward\ncompatibility.",
            "The Execution/Step is created, ready to run, but not running yet.\nIf an Execution/Step is created without initial state, it is assumed\nthat the Execution/Step is in PENDING state.",
            "The Execution/Step is in progress.",
            "The finalized, immutable state. Steps/Executions in this state cannot be\nmodified."
          ],
          "type": "string"
        },
        "stepId": {
          "description": "A unique identifier within a Execution for this Step.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response: always set\n- In create/update request: never set",
          "type": "string"
        },
        "testExecutionStep": {
          "$ref": "TestExecutionStep",
          "description": "An execution of a test runner."
        },
        "toolExecutionStep": {
          "$ref": "ToolExecutionStep",
          "description": "An execution of a tool (used for steps we don't explicitly support)."
        }
      },
      "type": "object"
    },
    "StepDimensionValueEntry": {
      "id": "StepDimensionValueEntry",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StepLabelsEntry": {
      "id": "StepLabelsEntry",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StepSummary": {
      "description": "Lightweight summary of a step within this execution.",
      "id": "StepSummary",
      "properties": {},
      "type": "object"
    },
    "SuccessDetail": {
      "description": "Details for an outcome with a SUCCESS outcome summary.\nLINT.IfChange",
      "id": "SuccessDetail",
      "properties": {
        "otherNativeCrash": {
          "description": "If a native process other than the app crashed.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "SuggestionClusterProto": {
      "description": "A set of similar suggestions that we suspect are closely related.\n\nThis proto and most of the nested protos are branched from\nfoxandcrown.prelaunchreport.service.SuggestionClusterProto, replacing PLR's\ndependencies with FTL's.",
      "id": "SuggestionClusterProto",
      "properties": {
        "category": {
          "description": "Category in which these types of suggestions should appear.\nAlways set.",
          "enum": [
            "UNKNOWN_CATEGORY",
            "CONTENT_LABELING",
            "TOUCH_TARGET_SIZE",
            "LOW_CONTRAST",
            "IMPLEMENTATION"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "suggestions": {
          "description": "A sequence of suggestions. All of the suggestions within a cluster must\nhave the same SuggestionPriority and belong to the same SuggestionCategory.\nSuggestions with the same screenshot URL should be adjacent.",
          "items": {
            "$ref": "SuggestionProto"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SuggestionProto": {
      "id": "SuggestionProto",
      "properties": {
        "helpUrl": {
          "description": "Reference to a help center article concerning this type of suggestion.\nAlways set.",
          "type": "string"
        },
        "longMessage": {
          "$ref": "SafeHtmlProto",
          "description": "Message, in the user's language, explaining the suggestion, which may\ncontain markup.\nAlways set."
        },
        "priority": {
          "description": "Relative importance of a suggestion.\nAlways set.",
          "enum": [
            "UNKNOWN_PRIORITY",
            "ERROR",
            "WARNING",
            "INFO"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "pseudoResourceId": {
          "description": "A somewhat human readable identifier of the source view, if it does not\nhave a resource_name. This is a path within the accessibility hierarchy,\nan element with resource name; similar to an XPath.",
          "type": "string"
        },
        "region": {
          "$ref": "RegionProto",
          "description": "Region within the screenshot that is relevant to this suggestion.\nOptional."
        },
        "resourceName": {
          "description": "Reference to a view element, identified by its resource name, if it has\none.",
          "type": "string"
        },
        "screenId": {
          "description": "ID of the screen for the suggestion.\nIt is used for getting the corresponding screenshot path. For example,\nscreen_id \"1\" corresponds to \"1.png\" file in GCS.\nAlways set.",
          "type": "string"
        },
        "secondaryPriority": {
          "description": "Relative importance of a suggestion as compared with other suggestions\nthat have the same priority and category.\nThis is a meaningless value that can be used to order suggestions that are\nin the same category and have the same priority.\nThe larger values have higher priority (i.e., are more important).\nOptional.",
          "format": "double",
          "type": "number"
        },
        "shortMessage": {
          "$ref": "SafeHtmlProto",
          "description": "Concise message, in the user's language, representing the suggestion,\nwhich may contain markup.\nAlways set."
        },
        "title": {
          "description": "General title for the suggestion, in the user's language, without markup.\nAlways set.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestCase": {
      "id": "TestCase",
      "properties": {
        "elapsedTime": {
          "$ref": "Duration",
          "description": "The elapsed run time of the test case.\n\nRequired."
        },
        "endTime": {
          "$ref": "Timestamp",
          "description": "The end time of the test case."
        },
        "skippedMessage": {
          "description": "Why the test case was skipped.\n\nPresent only for skipped test case",
          "type": "string"
        },
        "stackTraces": {
          "description": "The stack trace details if the test case failed or encountered an error.\n\nThe maximum size of the stack traces is 100KiB, beyond which the stack\ntrack will be truncated.\n\nZero if the test case passed.",
          "items": {
            "$ref": "StackTrace"
          },
          "type": "array"
        },
        "startTime": {
          "$ref": "Timestamp",
          "description": "The start time of the test case."
        },
        "status": {
          "description": "The status of the test case.\n\nRequired.",
          "enum": [
            "PASSED",
            "FAILED",
            "ERROR",
            "SKIPPED",
            "FLAKY"
          ],
          "enumDescriptions": [
            "Test passed.",
            "Test failed.",
            "Test encountered an error",
            "Test skipped",
            "Test flaked.\n\nPresent only for rollup test cases; test cases from steps that were run\nwith the same configuration had both failure and success outcomes."
          ],
          "type": "string"
        },
        "testCaseId": {
          "description": "A unique identifier within a Step for this Test Case.",
          "type": "string"
        },
        "testCaseReference": {
          "$ref": "TestCaseReference",
          "description": "Test case reference, e.g. name, class name and test suite name.\n\nRequired."
        },
        "toolOutputs": {
          "description": "References to opaque files of any format output by the tool execution.\n\n@OutputOnly",
          "items": {
            "$ref": "ToolOutputReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestCaseReference": {
      "description": "A reference to a test case.\n\nTest case references are canonically ordered lexicographically by these three\nfactors:\n* First, by test_suite_name.\n* Second, by class_name.\n* Third, by name.",
      "id": "TestCaseReference",
      "properties": {
        "className": {
          "description": "The name of the class.",
          "type": "string"
        },
        "name": {
          "description": "The name of the test case.\n\nRequired.",
          "type": "string"
        },
        "testSuiteName": {
          "description": "The name of the test suite to which this test case belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestExecutionStep": {
      "description": "A step that represents running tests.\n\nIt accepts ant-junit xml files which will be parsed into structured test\nresults by the service. Xml file paths are updated in order to append more\nfiles, however they can't be deleted.\n\nUsers can also add test results manually by using the test_result field.",
      "id": "TestExecutionStep",
      "properties": {
        "testIssues": {
          "description": "Issues observed during the test execution.\n\nFor example, if the mobile app under test crashed during the test,\nthe error message and the stack trace content can be recorded here\nto assist debugging.\n\n- In response: present if set by create or update\n- In create/update request: optional",
          "items": {
            "$ref": "TestIssue"
          },
          "type": "array"
        },
        "testSuiteOverviews": {
          "description": "List of test suite overview contents. This could be parsed from xUnit XML\nlog by server, or uploaded directly by user. This references should only be\ncalled when test suites are fully parsed or uploaded.\n\nThe maximum allowed number of test suite overviews per step is 1000.\n\n- In response: always set\n- In create request: optional\n- In update request: never (use publishXunitXmlFiles custom method instead)",
          "items": {
            "$ref": "TestSuiteOverview"
          },
          "type": "array"
        },
        "testTiming": {
          "$ref": "TestTiming",
          "description": "The timing break down of the test execution.\n\n- In response: present if set by create or update\n- In create/update request: optional"
        },
        "toolExecution": {
          "$ref": "ToolExecution",
          "description": "Represents the execution of the test runner.\n\nThe exit code of this tool will be used to determine if the test passed.\n\n- In response: always set\n- In create/update request: optional"
        }
      },
      "type": "object"
    },
    "TestIssue": {
      "description": "An issue detected occurring during a test execution.",
      "id": "TestIssue",
      "properties": {
        "category": {
          "description": "Category of issue.\nRequired.",
          "enum": [
            "UNSPECIFIED_CATEGORY",
            "COMMON",
            "ROBO"
          ],
          "enumDescriptions": [
            "Default unspecified category.\nDo not use. For versioning only.",
            "Issue is not specific to a particular test kind (e.g., a native crash).",
            "Issue is specific to Robo run."
          ],
          "type": "string"
        },
        "errorMessage": {
          "description": "A brief human-readable message describing the issue.\nRequired.",
          "type": "string"
        },
        "severity": {
          "description": "Severity of issue.\nRequired.",
          "enum": [
            "UNSPECIFIED_SEVERITY",
            "INFO",
            "SUGGESTION",
            "WARNING",
            "SEVERE"
          ],
          "enumDescriptions": [
            "Default unspecified severity.\nDo not use. For versioning only.",
            "Non critical issue, providing users with some info about the test run.",
            "Non critical issue, providing users with some hints on improving their\ntesting experience, e.g., suggesting to use Game Loops.",
            "Potentially critical issue.",
            "Critical issue."
          ],
          "type": "string"
        },
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "Deprecated in favor of stack trace fields inside specific warnings."
        },
        "type": {
          "description": "Type of issue.\nRequired.",
          "enum": [
            "UNSPECIFIED_TYPE",
            "FATAL_EXCEPTION",
            "NATIVE_CRASH",
            "ANR",
            "UNUSED_ROBO_DIRECTIVE",
            "COMPATIBLE_WITH_ORCHESTRATOR",
            "LAUNCHER_ACTIVITY_NOT_FOUND",
            "START_ACTIVITY_NOT_FOUND",
            "INCOMPLETE_ROBO_SCRIPT_EXECUTION",
            "COMPLETE_ROBO_SCRIPT_EXECUTION",
            "FAILED_TO_INSTALL",
            "AVAILABLE_DEEP_LINKS",
            "NON_SDK_API_USAGE_VIOLATION",
            "NON_SDK_API_USAGE_REPORT",
            "ENCOUNTERED_NON_ANDROID_UI_WIDGET_SCREEN",
            "ENCOUNTERED_LOGIN_SCREEN",
            "PERFORMED_GOOGLE_LOGIN",
            "IOS_EXCEPTION",
            "IOS_CRASH",
            "PERFORMED_MONKEY_ACTIONS",
            "USED_ROBO_DIRECTIVE",
            "USED_ROBO_IGNORE_DIRECTIVE",
            "INSUFFICIENT_COVERAGE",
            "IN_APP_PURCHASES",
            "CRASH_DIALOG_ERROR",
            "UI_ELEMENTS_TOO_DEEP",
            "BLANK_SCREEN",
            "OVERLAPPING_UI_ELEMENTS"
          ],
          "enumDescriptions": [
            "Default unspecified type.\nDo not use. For versioning only.",
            "Issue is a fatal exception.",
            "Issue is a native crash.",
            "Issue is an ANR crash.",
            "Issue is an unused robo directive.",
            "Issue is a suggestion to use orchestrator.",
            "Issue with finding a launcher activity",
            "Issue with resolving a user-provided intent to start an activity",
            "A Robo script was not fully executed.",
            "A Robo script was fully and successfully executed.",
            "The APK failed to install.",
            "The app-under-test has deep links, but none were provided to Robo.",
            "App accessed a non-sdk Api.",
            "App accessed a non-sdk Api (new detailed report)",
            "Robo crawl encountered at least one screen with elements that are not\nAndroid UI widgets.",
            "Robo crawl encountered at least one probable login screen.",
            "Robo signed in with Google.",
            "iOS App crashed with an exception.",
            "iOS App crashed without an exception (e.g. killed).",
            "Robo crawl involved performing some monkey actions.",
            "Robo crawl used a Robo directive.",
            "Robo crawl used a Robo directive to ignore an UI element.",
            "Robo did not crawl some potentially important parts of the app.",
            "Robo crawl involved some in-app purchases.",
            "Crash dialog was detected during the test execution",
            "UI element depth is greater than the threshold",
            "Blank screen is found in the Robo crawl",
            "Overlapping UI elements are found in the Robo crawl"
          ],
          "type": "string"
        },
        "warning": {
          "$ref": "Any",
          "description": "Warning message with additional details of the issue.\nShould always be a message from com.google.devtools.toolresults.v1.warnings"
        }
      },
      "type": "object"
    },
    "TestSuiteOverview": {
      "description": "A summary of a test suite result either parsed from XML or uploaded\ndirectly by a user.\n\nNote: the API related comments are for StepService only. This message is\nalso being used in ExecutionService in a read only mode for the corresponding\nstep.",
      "id": "TestSuiteOverview",
      "properties": {
        "elapsedTime": {
          "$ref": "Duration",
          "description": "Elapsed time of test suite."
        },
        "errorCount": {
          "description": "Number of test cases in error, typically set by the service by parsing the\nxml_source.\n\n- In create/response: always set\n- In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "failureCount": {
          "description": "Number of failed test cases, typically set by the service by parsing the\nxml_source. May also be set by the user.\n\n- In create/response: always set\n- In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "flakyCount": {
          "description": "Number of flaky test cases, set by the service by rolling up flaky test\nattempts.\n\nPresent only for rollup test suite overview at environment level. A step\ncannot have flaky test cases.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "The name of the test suite.\n\n- In create/response: always set\n- In update request: never",
          "type": "string"
        },
        "skippedCount": {
          "description": "Number of test cases not run, typically set by the service by parsing the\nxml_source.\n\n- In create/response: always set\n- In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "totalCount": {
          "description": "Number of test cases, typically set by the service by parsing the\nxml_source.\n\n- In create/response: always set\n- In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "xmlSource": {
          "$ref": "FileReference",
          "description": "If this test suite was parsed from XML, this is the URI where the original\nXML file is stored.\n\nNote: Multiple test suites can share the same xml_source\n\nReturns INVALID_ARGUMENT if the uri format is not supported.\n\n- In create/response: optional\n- In update request: never"
        }
      },
      "type": "object"
    },
    "TestTiming": {
      "description": "Testing timing break down to know phases.",
      "id": "TestTiming",
      "properties": {
        "testProcessDuration": {
          "$ref": "Duration",
          "description": "How long it took to run the test process.\n\n- In response: present if previously set.\n- In create/update request: optional"
        }
      },
      "type": "object"
    },
    "Thumbnail": {
      "description": "A single thumbnail, with its size and format.",
      "id": "Thumbnail",
      "properties": {
        "contentType": {
          "description": "The thumbnail's content type, i.e. \"image/png\".\n\nAlways set.",
          "type": "string"
        },
        "data": {
          "description": "The thumbnail file itself.\n\nThat is, the bytes here are precisely the bytes that make up the thumbnail\nfile; they can be served as an image as-is (with the appropriate content\ntype.)\n\nAlways set.",
          "format": "byte",
          "type": "string"
        },
        "heightPx": {
          "description": "The height of the thumbnail, in pixels.\n\nAlways set.",
          "format": "int32",
          "type": "integer"
        },
        "widthPx": {
          "description": "The width of the thumbnail, in pixels.\n\nAlways set.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Timestamp": {
      "description": "A Timestamp represents a point in time independent of any time zone or local\ncalendar, encoded as a count of seconds and fractions of seconds at\nnanosecond resolution. The count is relative to an epoch at UTC midnight on\nJanuary 1, 1970, in the proleptic Gregorian calendar which extends the\nGregorian calendar backwards to year one.\n\nAll minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\nsecond table is needed for interpretation, using a [24-hour linear\nsmear](https://developers.google.com/time/smear).\n\nThe range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\nrestricting to that range, we ensure that we can convert to and from [RFC\n3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.",
      "id": "Timestamp",
      "properties": {
        "nanos": {
          "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ToolExecution": {
      "description": "An execution of an arbitrary tool. It could be a test runner or a tool\ncopying artifacts or deploying code.",
      "id": "ToolExecution",
      "properties": {
        "commandLineArguments": {
          "description": "The full tokenized command line including the program name (equivalent to\nargv in a C program).\n\n- In response: present if set by create request\n- In create request: optional\n- In update request: never set",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exitCode": {
          "$ref": "ToolExitCode",
          "description": "Tool execution exit code. This field will be set once the tool has\nexited.\n\n- In response: present if set by create/update request\n- In create request: optional\n- In update request: optional, a FAILED_PRECONDITION error will be\n  returned if an exit_code is already set."
        },
        "toolLogs": {
          "description": "References to any plain text logs output the tool execution.\n\nThis field can be set before the tool has exited in order to be able to\nhave access to a live view of the logs while the tool is running.\n\nThe maximum allowed number of tool logs per step is 1000.\n\n- In response: present if set by create/update request\n- In create request: optional\n- In update request: optional, any value provided will be appended to the\n  existing list",
          "items": {
            "$ref": "FileReference"
          },
          "type": "array"
        },
        "toolOutputs": {
          "description": "References to opaque files of any format output by the tool execution.\n\nThe maximum allowed number of tool outputs per step is 1000.\n\n- In response: present if set by create/update request\n- In create request: optional\n- In update request: optional, any value provided will be appended to the\n  existing list",
          "items": {
            "$ref": "ToolOutputReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ToolExecutionStep": {
      "description": "Generic tool step to be used for binaries we do not explicitly support.\nFor example: running cp to copy artifacts from one location to another.",
      "id": "ToolExecutionStep",
      "properties": {
        "toolExecution": {
          "$ref": "ToolExecution",
          "description": "A Tool execution.\n\n- In response: present if set by create/update request\n- In create/update request: optional"
        }
      },
      "type": "object"
    },
    "ToolExitCode": {
      "description": "Exit code from a tool execution.",
      "id": "ToolExitCode",
      "properties": {
        "number": {
          "description": "Tool execution exit code. A value of 0 means that the execution was\nsuccessful.\n\n- In response: always set\n- In create/update request: always set",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ToolOutputReference": {
      "description": "A reference to a ToolExecution output file.",
      "id": "ToolOutputReference",
      "properties": {
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The creation time of the file.\n\n- In response: present if set by create/update request\n- In create/update request: optional"
        },
        "output": {
          "$ref": "FileReference",
          "description": "A FileReference to an output file.\n\n- In response: always set\n- In create/update request: always set"
        },
        "testCase": {
          "$ref": "TestCaseReference",
          "description": "The test case to which this output file belongs.\n\n- In response: present if set by create/update request\n- In create/update request: optional"
        }
      },
      "type": "object"
    },
    "UIElementTooDeep": {
      "description": "A warning that the screen hierarchy is deeper than the recommended threshold.",
      "id": "UIElementTooDeep",
      "properties": {
        "depth": {
          "description": "The depth of the screen element",
          "format": "int32",
          "type": "integer"
        },
        "screenId": {
          "description": "The screen id of the element",
          "type": "string"
        },
        "screenStateId": {
          "description": "The screen state id of the element",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UnspecifiedWarning": {
      "description": "Default unspecified warning.",
      "id": "UnspecifiedWarning",
      "properties": {},
      "type": "object"
    },
    "UnusedRoboDirective": {
      "description": "Additional details of an unused robodirective.",
      "id": "UnusedRoboDirective",
      "properties": {
        "resourceName": {
          "description": "The name of the resource that was unused.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpgradeInsight": {
      "description": "This insight is a recommendation to upgrade a given library to the specified\nversion, in order to avoid dependencies on non-SDK APIs.",
      "id": "UpgradeInsight",
      "properties": {
        "packageName": {
          "description": "The name of the package to be upgraded.",
          "type": "string"
        },
        "upgradeToVersion": {
          "description": "The suggested version to upgrade to.\nOptional: In case we are not sure which version solves this problem",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UsedRoboDirective": {
      "description": "Additional details of a used Robo directive.",
      "id": "UsedRoboDirective",
      "properties": {
        "resourceName": {
          "description": "The name of the resource that was used.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UsedRoboIgnoreDirective": {
      "description": "Additional details of a used Robo directive with an ignore action.\nNote: This is a different scenario than unused directive.",
      "id": "UsedRoboIgnoreDirective",
      "properties": {
        "resourceName": {
          "description": "The name of the resource that was ignored.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Tool Results API",
  "version": "v1beta3"
}