blob: ea8a26194a79034b261aed0b5f1879b279d7d29d [file] [log] [blame]
<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.projects.html">projects</a> . <a href="toolresults_v1beta3.projects.histories.html">histories</a> . <a href="toolresults_v1beta3.projects.histories.executions.html">executions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="toolresults_v1beta3.projects.histories.executions.clusters.html">clusters()</a></code>
</p>
<p class="firstline">Returns the clusters Resource.</p>
<p class="toc_element">
<code><a href="toolresults_v1beta3.projects.histories.executions.environments.html">environments()</a></code>
</p>
<p class="firstline">Returns the environments Resource.</p>
<p class="toc_element">
<code><a href="toolresults_v1beta3.projects.histories.executions.steps.html">steps()</a></code>
</p>
<p class="firstline">Returns the steps Resource.</p>
<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, pageSize=None, pageToken=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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
}
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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
}</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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(projectId, historyId, pageSize=None, pageToken=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)
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.
pageToken: string, A continuation token to resume the query at the next item.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{
&quot;nextPageToken&quot;: &quot;A String&quot;, # A continuation token to resume the query at the next item.
#
# Will only be set if there are more Executions to fetch.
&quot;executions&quot;: [ # 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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
},
],
}</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 &#x27;execute()&#x27; 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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
}
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.
&quot;completionTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;executionId&quot;: &quot;A String&quot;, # 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
&quot;state&quot;: &quot;A String&quot;, # 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
&quot;creationTime&quot;: { # 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 &quot;smeared&quot; 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.
&quot;nanos&quot;: 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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.
},
&quot;dimensionDefinitions&quot;: [ # 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.
},
],
&quot;specification&quot;: { # 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
&quot;androidTest&quot;: { # An Android mobile test specification. # An Android mobile test execution specification.
&quot;androidInstrumentationTest&quot;: { # A test of an Android application that can control an Android component # An Android instrumentation test.
# independently of its normal lifecycle.
#
# See &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for
# more information on types of Android tests.
&quot;useOrchestrator&quot;: True or False, # The flag indicates whether Android Test Orchestrator will be used to run
# test or not.
&quot;testPackageId&quot;: &quot;A String&quot;, # The java package for the test to be executed.
# Required
&quot;testTargets&quot;: [ # Each target must be fully qualified with the package name or class name,
# in one of these formats:
# - &quot;package package_name&quot;
# - &quot;class package_name.class_name&quot;
# - &quot;class package_name.class_name#method_name&quot;
#
# If empty, all targets in the module will be run.
&quot;A String&quot;,
],
&quot;testRunnerClass&quot;: &quot;A String&quot;, # The InstrumentationTestRunner class.
# Required
},
&quot;androidRoboTest&quot;: { # 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.
&quot;bootstrapPackageId&quot;: &quot;A String&quot;, # The java package for the bootstrap.
# Optional
&quot;bootstrapRunnerClass&quot;: &quot;A String&quot;, # The runner class for the bootstrap.
# Optional
&quot;maxSteps&quot;: 42, # The max number of steps/actions Robo can execute.
# Default is no limit (0).
# Optional
&quot;appInitialActivity&quot;: &quot;A String&quot;, # The initial activity that should be used to start the app.
# Optional
&quot;maxDepth&quot;: 42, # The max depth of the traversal stack Robo can explore.
# Optional
},
&quot;androidTestLoop&quot;: { # 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.
},
&quot;androidAppInfo&quot;: { # Android app information. # Information about the application under test.
&quot;packageName&quot;: &quot;A String&quot;, # The package name of the app.
# Required.
&quot;versionName&quot;: &quot;A String&quot;, # The version name of the app.
# Optional.
&quot;versionCode&quot;: &quot;A String&quot;, # The internal version code of the app.
# Optional.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Optional
},
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
},
&quot;iosTest&quot;: { # A iOS mobile test specification # An iOS mobile test execution specification.
&quot;testTimeout&quot;: { # # 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 &quot;day&quot;
# or &quot;month&quot;. 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.
&quot;seconds&quot;: &quot;A String&quot;, # 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
&quot;nanos&quot;: 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.
},
&quot;iosAppInfo&quot;: { # iOS app information # Information about the application under test.
&quot;name&quot;: &quot;A String&quot;, # The name of the app.
# Required
},
&quot;iosTestLoop&quot;: { # A game loop test of an iOS application. # An iOS test loop.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosXcTest&quot;: { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest.
&quot;xcodeVersion&quot;: &quot;A String&quot;, # Xcode version that the test was run with.
&quot;bundleId&quot;: &quot;A String&quot;, # Bundle ID of the app.
},
&quot;iosRoboTest&quot;: { # A Robo test for an iOS application. # An iOS Robo test.
},
},
},
&quot;outcome&quot;: { # 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
&quot;inconclusiveDetail&quot;: { # 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
&quot;hasErrorLogs&quot;: True or False, # If results are being provided to the user in certain cases of
# infrastructure failures
&quot;infrastructureFailure&quot;: 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.
&quot;abortedByUser&quot;: 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.
},
&quot;skippedDetail&quot;: { # 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
&quot;incompatibleArchitecture&quot;: True or False, # If the App doesn&#x27;t run on the specific architecture, for example, x86.
&quot;incompatibleDevice&quot;: True or False, # If the requested OS version doesn&#x27;t run on the specific device model.
&quot;incompatibleAppVersion&quot;: True or False, # If the App doesn&#x27;t support the specific API level.
},
&quot;summary&quot;: &quot;A String&quot;, # The simplest way to interpret a result.
#
# Required
&quot;failureDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process (including any other than the app) crashed.
&quot;notInstalled&quot;: 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.
&quot;timedOut&quot;: True or False, # If the test overran some time limit, and that is why it failed.
&quot;failedRoboscript&quot;: True or False, # If the Roboscript failed to complete successfully, e.g., because a
# Roboscript action or assertion failed or a Roboscript action could not be
# matched during the entire crawl.
&quot;crashed&quot;: True or False, # If the failure was severe because the system (app) under test crashed.
&quot;unableToCrawl&quot;: True or False, # If the robo was unable to crawl the app; perhaps because the app did not
# start.
},
&quot;successDetail&quot;: { # 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
&quot;otherNativeCrash&quot;: True or False, # If a native process other than the app crashed.
},
},
&quot;testExecutionMatrixId&quot;: &quot;A String&quot;, # TestExecution Matrix ID that the TestExecutionService uses.
#
# - In response: present if set by create
# - In create: optional
# - In update: never set
}</pre>
</div>
</body></html>