docs: docs update (#911)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/toolresults_v1beta3.executions.html b/docs/dyn/toolresults_v1beta3.executions.html
new file mode 100644
index 0000000..1fe82b4
--- /dev/null
+++ b/docs/dyn/toolresults_v1beta3.executions.html
@@ -0,0 +1,1889 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+
+body {
+ font-size: 13px;
+ padding: 1em;
+}
+
+h1 {
+ font-size: 26px;
+ margin-bottom: 1em;
+}
+
+h2 {
+ font-size: 24px;
+ margin-bottom: 1em;
+}
+
+h3 {
+ font-size: 20px;
+ margin-bottom: 1em;
+ margin-top: 1em;
+}
+
+pre, code {
+ line-height: 1.5;
+ font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+ margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+ font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+ border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+ margin-top: 0.5em;
+}
+
+.firstline {
+ margin-left: 2 em;
+}
+
+.method {
+ margin-top: 1em;
+ border: solid 1px #CCC;
+ padding: 1em;
+ background: #EEE;
+}
+
+.details {
+ font-weight: bold;
+ font-size: 14px;
+}
+
+</style>
+
+<h1><a href="toolresults_v1beta3.html">Cloud Tool Results API</a> . <a href="toolresults_v1beta3.executions.html">executions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+ <code><a href="#create">create(projectId, historyId, body=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates an Execution.</p>
+<p class="toc_element">
+ <code><a href="#get">get(projectId, historyId, executionId, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets an Execution.</p>
+<p class="toc_element">
+ <code><a href="#list">list(projectId, historyId, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Executions for a given History.</p>
+<p class="toc_element">
+ <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+ <code><a href="#patch">patch(projectId, historyId, executionId, body=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an existing Execution with the supplied partial entity.</p>
+<h3>Method Details</h3>
+<div class="method">
+ <code class="details" id="create">create(projectId, historyId, body=None, requestId=None, x__xgafv=None)</code>
+ <pre>Creates an Execution.
+
+The returned Execution will have the id set.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project
+- INVALID_ARGUMENT - if the request is malformed
+- NOT_FOUND - if the containing History does not exist
+
+Args:
+ projectId: string, A Project id.
+
+Required. (required)
+ historyId: string, A History id.
+
+Required. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+}
+
+ requestId: string, A unique request ID for server to detect duplicated requests.
+For example, a UUID.
+
+Optional, but strongly recommended.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="get">get(projectId, historyId, executionId, x__xgafv=None)</code>
+ <pre>Gets an Execution.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project
+- INVALID_ARGUMENT - if the request is malformed
+- NOT_FOUND - if the Execution does not exist
+
+Args:
+ projectId: string, A Project id.
+
+Required. (required)
+ historyId: string, A History id.
+
+Required. (required)
+ executionId: string, An Execution id.
+
+Required. (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list">list(projectId, historyId, pageToken=None, pageSize=None, x__xgafv=None)</code>
+ <pre>Lists Executions for a given History.
+
+The executions are sorted by creation_time in descending order. The
+execution_id key will be used to order the executions with the same
+creation_time.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project
+- INVALID_ARGUMENT - if the request is malformed
+- NOT_FOUND - if the containing History does not exist
+
+Args:
+ projectId: string, A Project id.
+
+Required. (required)
+ historyId: string, A History id.
+
+Required. (required)
+ pageToken: string, A continuation token to resume the query at the next item.
+
+Optional.
+ pageSize: integer, The maximum number of Executions to fetch.
+
+Default value: 25. The server will use this default if the field is not set
+or has a value of 0.
+
+Optional.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ {
+ "nextPageToken": "A String", # A continuation token to resume the query at the next item.
+ #
+ # Will only be set if there are more Executions to fetch.
+ "executions": [ # Executions.
+ #
+ # Always set.
+ { # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+ },
+ ],
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+ <pre>Retrieves the next page of results.
+
+Args:
+ previous_request: The request for the previous page. (required)
+ previous_response: The response from the request for the previous page. (required)
+
+Returns:
+ A request object that you can call 'execute()' on to request the next
+ page. Returns None if there are no more items in the collection.
+ </pre>
+</div>
+
+<div class="method">
+ <code class="details" id="patch">patch(projectId, historyId, executionId, body=None, requestId=None, x__xgafv=None)</code>
+ <pre>Updates an existing Execution with the supplied partial entity.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project
+- INVALID_ARGUMENT - if the request is malformed
+- FAILED_PRECONDITION - if the requested state transition is illegal
+- NOT_FOUND - if the containing History does not exist
+
+Args:
+ projectId: string, A Project id.
+Required. (required)
+ historyId: string, Required. (required)
+ executionId: string, Required. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+}
+
+ requestId: string, A unique request ID for server to detect duplicated requests.
+For example, a UUID.
+
+Optional, but strongly recommended.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # An Execution represents a collection of Steps. For instance, it could
+ # represent:
+ # - a mobile test executed across a range of device configurations
+ # - a jenkins job with a build step followed by a test step
+ #
+ # The maximum size of an execution message is 1 MiB.
+ #
+ # An Execution can be updated until its state is set to COMPLETE at which
+ # point it becomes immutable.
+ "completionTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution status transitioned to COMPLETE.
+ #
+ # This value will be set automatically when state transitions to
+ # COMPLETE.
+ #
+ # - In response: set if the execution state is COMPLETE.
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "executionId": "A String", # A unique identifier within a History for this Execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+ #
+ # - In response always set
+ # - In create/update request: never set
+ "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+ #
+ # - In response: present if set by create/update request
+ # - In create/update request: optional
+ "summary": "A String", # The simplest way to interpret a result.
+ #
+ # Required
+ "failureDetail": { # Details for an outcome with a FAILURE outcome summary. # More information about a FAILURE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not FAILURE.
+ #
+ # Optional
+ "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not
+ # start.
+ "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app.
+ # This might be caused by trying to run a test on an unsupported platform.
+ "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+ "otherNativeCrash": True or False, # If a native process (including any other than the app) crashed.
+ "crashed": True or False, # If the failure was severe because the system (app) under test crashed.
+ },
+ "inconclusiveDetail": { # Details for an outcome with an INCONCLUSIVE outcome summary. # More information about an INCONCLUSIVE outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not INCONCLUSIVE.
+ #
+ # Optional
+ "hasErrorLogs": True or False, # If results are being provided to the user in certain cases of
+ # infrastructure failures
+ "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test
+ # depends on a component other than the system under test which failed.
+ #
+ # For example, a mobile test requires provisioning a device where the test
+ # executes, and that provisioning can fail.
+ "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be
+ # determined.
+ # For example, the user pressed ctrl-c which sent a kill signal to the test
+ # runner while the test was running.
+ },
+ "successDetail": { # Details for an outcome with a SUCCESS outcome summary. # More information about a SUCCESS outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SUCCESS.
+ #
+ # Optional
+ # LINT.IfChange
+ "otherNativeCrash": True or False, # If a native process other than the app crashed.
+ },
+ "skippedDetail": { # Details for an outcome with a SKIPPED outcome summary. # More information about a SKIPPED outcome.
+ #
+ # Returns INVALID_ARGUMENT if this field is set
+ # but the summary is not SKIPPED.
+ #
+ # Optional
+ "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+ "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+ "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+ },
+ },
+ "specification": { # The details about how to run the execution. # Lightweight information about execution request.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: optional
+ "iosTest": { # A iOS mobile test specification # An iOS mobile test execution specification.
+ "iosAppInfo": { # iOS app information # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Required
+ },
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "iosRoboTest": { # A Robo test for an iOS application. # An iOS Robo test.
+ },
+ "iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
+ "xcodeVersion": "A String", # Xcode version that the test was run with.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ "iosTestLoop": { # A game loop test of an iOS application. # An iOS test loop.
+ "bundleId": "A String", # Bundle ID of the app.
+ },
+ },
+ "androidTest": { # An Android mobile test specification. # An Android mobile test execution specification.
+ "testTimeout": { # # Max time a test is allowed to run before it is
+ # automatically cancelled.
+ # A Duration represents a signed, fixed-length span of time represented
+ # as a count of seconds and fractions of seconds at nanosecond
+ # resolution. It is independent of any calendar and concepts like "day"
+ # or "month". It is related to Timestamp in that the difference between
+ # two Timestamp values is a Duration and it can be added or subtracted
+ # from a Timestamp. Range is approximately +-10,000 years.
+ "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span
+ # of time. Durations less than one second are represented with a 0
+ # `seconds` field and a positive or negative `nanos` field. For durations
+ # of one second or more, a non-zero value for the `nanos` field must be
+ # of the same sign as the `seconds` field. Must be from -999,999,999
+ # to +999,999,999 inclusive.
+ "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+ },
+ "androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
+ # or physical Android device, finding culprits and crashes as it goes.
+ "appInitialActivity": "A String", # The initial activity that should be used to start the app.
+ # Optional
+ "bootstrapRunnerClass": "A String", # The runner class for the bootstrap.
+ # Optional
+ "maxSteps": 42, # The max number of steps/actions Robo can execute.
+ # Default is no limit (0).
+ # Optional
+ "maxDepth": 42, # The max depth of the traversal stack Robo can explore.
+ # Optional
+ "bootstrapPackageId": "A String", # The java package for the bootstrap.
+ # Optional
+ },
+ "androidTestLoop": { # Test Loops are tests that can be launched by the app itself, determining # An Android test loop.
+ # when to run by listening for an intent.
+ },
+ "androidAppInfo": { # Android app information. # Information about the application under test.
+ "name": "A String", # The name of the app.
+ # Optional
+ "packageName": "A String", # The package name of the app.
+ # Required.
+ "versionName": "A String", # The version name of the app.
+ # Optional.
+ "versionCode": "A String", # The internal version code of the app.
+ # Optional.
+ },
+ "androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
+ # independently of its normal lifecycle.
+ #
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
+ # more information on types of Android tests.
+ "testPackageId": "A String", # The java package for the test to be executed.
+ # Required
+ "testTargets": [ # Each target must be fully qualified with the package name or class name,
+ # in one of these formats:
+ # - "package package_name"
+ # - "class package_name.class_name"
+ # - "class package_name.class_name#method_name"
+ #
+ # If empty, all targets in the module will be run.
+ "A String",
+ ],
+ "useOrchestrator": True or False, # The flag indicates whether Android Test Orchestrator will be used to run
+ # test or not.
+ "testRunnerClass": "A String", # The InstrumentationTestRunner class.
+ # Required
+ },
+ },
+ },
+ "creationTime": { # A Timestamp represents a point in time independent of any time zone or local # The time when the Execution was created.
+ #
+ # This value will be set automatically when CreateExecution is called.
+ #
+ # - In response: always set
+ # - In create/update request: never set
+ # calendar, encoded as a count of seconds and fractions of seconds at
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
+ # Gregorian calendar backwards to year one.
+ #
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ # second table is needed for interpretation, using a [24-hour linear
+ # smear](https://developers.google.com/time/smear).
+ #
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ # restricting to that range, we ensure that we can convert to and from [RFC
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+ "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative
+ # second values with fractions must still have non-negative nanos values
+ # that count forward in time. Must be from 0 to 999,999,999
+ # inclusive.
+ "seconds": "A String", # Represents seconds of UTC time since Unix epoch
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ # 9999-12-31T23:59:59Z inclusive.
+ },
+ "dimensionDefinitions": [ # The dimensions along which different steps in this execution may vary.
+ # This must remain fixed over the life of the execution.
+ #
+ # Returns INVALID_ARGUMENT if this field is set in an update request.
+ #
+ # Returns INVALID_ARGUMENT if the same name occurs in more than one
+ # dimension_definition.
+ #
+ # Returns INVALID_ARGUMENT if the size of the list is over 100.
+ #
+ # - In response: present if set by create
+ # - In create request: optional
+ # - In update request: never set
+ { # One dimension of the matrix of different runs of a step.
+ },
+ ],
+ "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the TestExecutionService uses.
+ #
+ # - In response: present if set by create
+ # - In create: optional
+ # - In update: never set
+ "state": "A String", # The initial state is IN_PROGRESS.
+ #
+ # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+ #
+ # A PRECONDITION_FAILED will be returned if an invalid transition is
+ # requested.
+ #
+ # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be
+ # returned if the state is set to COMPLETE multiple times.
+ #
+ # If the state is set to COMPLETE, all the in-progress steps within the
+ # execution will be set as COMPLETE. If the outcome of the step is not set,
+ # the outcome will be set to INCONCLUSIVE.
+ #
+ # - In response always set
+ # - In create/update request: optional
+ }</pre>
+</div>
+
+</body></html>
\ No newline at end of file