| { |
| "basePath": "", |
| "baseUrl": "https://www.googleapis.com/", |
| "batchPath": "batch", |
| "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:v1", |
| "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": {}, |
| "revision": "20200224", |
| "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" |
| }, |
| "AvailableDeepLinks": { |
| "description": "A suggestion to use deep links for a Robo run.", |
| "id": "AvailableDeepLinks", |
| "properties": {}, |
| "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" |
| }, |
| "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" |
| }, |
| "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" |
| }, |
| "FailedToInstall": { |
| "description": "Failed to install the APK.", |
| "id": "FailedToInstall", |
| "properties": {}, |
| "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" |
| }, |
| "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" |
| }, |
| "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" |
| }, |
| "LauncherActivityNotFound": { |
| "description": "Failed to find the launcher activity of an app.", |
| "id": "LauncherActivityNotFound", |
| "properties": {}, |
| "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" |
| }, |
| "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" |
| }, |
| "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" |
| }, |
| "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" |
| }, |
| "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" |
| }, |
| "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": "v1", |
| "version_module": true |
| } |