You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2298 lines
150 KiB
2298 lines
150 KiB
<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="testing_v1.html">Cloud Testing API</a> . <a href="testing_v1.projects.html">projects</a> . <a href="testing_v1.projects.testMatrices.html">testMatrices</a></h1>
|
|
<h2>Instance Methods</h2>
|
|
<p class="toc_element">
|
|
<code><a href="#cancel">cancel(projectId, testMatrixId, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Cancels unfinished test executions in a test matrix.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#create">create(projectId, body, requestId=None, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Creates and runs a matrix of tests according to the given specifications.</p>
|
|
<p class="toc_element">
|
|
<code><a href="#get">get(projectId, testMatrixId, x__xgafv=None)</a></code></p>
|
|
<p class="firstline">Checks the status of a test matrix.</p>
|
|
<h3>Method Details</h3>
|
|
<div class="method">
|
|
<code class="details" id="cancel">cancel(projectId, testMatrixId, x__xgafv=None)</code>
|
|
<pre>Cancels unfinished test executions in a test matrix.
|
|
This call returns immediately and cancellation proceeds asychronously.
|
|
If the matrix is already final, this operation will have no effect.
|
|
|
|
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 Test Matrix does not exist
|
|
|
|
Args:
|
|
projectId: string, Cloud project that owns the test. (required)
|
|
testMatrixId: string, Test matrix that will be canceled. (required)
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # Response containing the current state of the specified test matrix.
|
|
"testState": "A String", # The current rolled-up state of the test matrix.
|
|
# If this state is already final, then the cancelation request will
|
|
# have no effect.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="create">create(projectId, body, requestId=None, x__xgafv=None)</code>
|
|
<pre>Creates and runs a matrix of tests according to the given specifications.
|
|
Unsupported environments will be returned in the state UNSUPPORTED.
|
|
Matrices are limited to at most 200 supported executions.
|
|
|
|
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 or if the matrix expands
|
|
to more than 200 supported executions
|
|
|
|
Args:
|
|
projectId: string, The GCE project under which this job will run. (required)
|
|
body: object, The request body. (required)
|
|
The object takes the form of:
|
|
|
|
{ # TestMatrix captures all details about a test. It contains the environment
|
|
# configuration, test specification, test executions and overall state and
|
|
# outcome.
|
|
"clientInfo": { # Information about the client which invoked the test. # Information about the client which invoked the test.
|
|
"clientInfoDetails": [ # The list of detailed information about client.
|
|
{ # Key-value pair of detailed information about the client which invoked the
|
|
# test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.
|
|
"key": "A String", # Required. The key of detailed client information.
|
|
"value": "A String", # Required. The value of detailed client information.
|
|
},
|
|
],
|
|
"name": "A String", # Required. Client name, such as gcloud.
|
|
},
|
|
"projectId": "A String", # The cloud project that owns the test matrix.
|
|
"resultStorage": { # Locations where the results of running the test are stored. # Required. Where the results for the matrix are written.
|
|
"toolResultsHistory": { # Represents a tool results history resource. # The tool results history that contains the tool results execution that
|
|
# results are written to.
|
|
#
|
|
# If not provided, the service will choose an appropriate value.
|
|
"projectId": "A String", # Required. The cloud project that owns the tool results history.
|
|
"historyId": "A String", # Required. A tool results history ID.
|
|
},
|
|
"googleCloudStorage": { # A storage location within Google cloud storage (GCS). # Required.
|
|
"gcsPath": "A String", # Required. The path to a directory in GCS that will
|
|
# eventually contain the results for this test.
|
|
# The requesting user must have write access on the bucket in the supplied
|
|
# path.
|
|
},
|
|
"toolResultsExecution": { # Represents a tool results execution resource. # Output only. The tool results execution that results are written to.
|
|
#
|
|
# This has the results of a TestMatrix.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results execution.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"resultsUrl": "A String", # Output only. URL to the results in the Firebase Web Console.
|
|
},
|
|
"flakyTestAttempts": 42, # The number of times a TestExecution should be re-attempted if one or more
|
|
# of its test cases fail for any reason.
|
|
# The maximum number of reruns allowed is 10.
|
|
#
|
|
# Default is 0, which implies no reruns.
|
|
"state": "A String", # Output only. Indicates the current progress of the test matrix.
|
|
"testExecutions": [ # Output only. The list of test executions that the service creates for
|
|
# this matrix.
|
|
{ # A single test executed in a single environment.
|
|
"timestamp": "A String", # Output only. The time this test execution was initially created.
|
|
"matrixId": "A String", # Output only. Id of the containing TestMatrix.
|
|
"testSpecification": { # A description of how to run the test. # Output only. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testDetails": { # Additional details about the progress of the running test. # Output only. Additional details about the running test.
|
|
"progressMessages": [ # Output only. Human-readable, detailed descriptions of the test's progress.
|
|
# For example: "Provisioning a device", "Starting Test".
|
|
#
|
|
# During the course of execution new data may be appended
|
|
# to the end of progress_messages.
|
|
"A String",
|
|
],
|
|
"errorMessage": "A String", # Output only. If the TestState is ERROR, then this string will contain
|
|
# human-readable details about the error.
|
|
},
|
|
"environment": { # The environment in which the test is run. # Output only. How the host machine(s) are configured.
|
|
"iosDevice": { # A single iOS device. # An iOS device which must be used with an iOS test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
"androidDevice": { # A single Android device. # An Android device which must be used with an Android test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
},
|
|
"state": "A String", # Output only. Indicates the current progress of the test execution
|
|
# (e.g., FINISHED).
|
|
"projectId": "A String", # Output only. The cloud project that owns the test execution.
|
|
"toolResultsStep": { # Represents a tool results step resource. # Output only. Where the results for this execution are written.
|
|
#
|
|
# This has the results of a TestExecution.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results step.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"stepId": "A String", # Output only. A tool results step ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"id": "A String", # Output only. Unique id set by the service.
|
|
},
|
|
],
|
|
"testSpecification": { # A description of how to run the test. # Required. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testMatrixId": "A String", # Output only. Unique id set by the service.
|
|
"timestamp": "A String", # Output only. The time this test matrix was initially created.
|
|
"invalidMatrixDetails": "A String", # Output only. Describes why the matrix is considered invalid.
|
|
# Only useful for matrices in the INVALID state.
|
|
"environmentMatrix": { # The matrix of environments in which the test is to be executed. # Required. The devices the tests are being executed on.
|
|
"androidDeviceList": { # A list of Android device configurations in which the test is to be executed. # A list of Android devices; the test will be run only on the specified
|
|
# devices.
|
|
"androidDevices": [ # Required. A list of Android devices.
|
|
{ # A single Android device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
"androidMatrix": { # A set of Android device configuration permutations is defined by the # A matrix of Android devices.
|
|
# the cross-product of the given axes. Internally, the given AndroidMatrix
|
|
# will be expanded into a set of AndroidDevices.
|
|
#
|
|
# Only supported permutations will be instantiated. Invalid permutations
|
|
# (e.g., incompatible models/versions) are ignored.
|
|
"locales": [ # Required. The set of locales the test device will enable for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidModelIds": [ # Required. The ids of the set of Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidVersionIds": [ # Required. The ids of the set of Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"orientations": [ # Required. The set of orientations to test with.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
},
|
|
"iosDeviceList": { # A list of iOS device configurations in which the test is to be executed. # A list of iOS devices.
|
|
"iosDevices": [ # Required. A list of iOS devices.
|
|
{ # A single iOS device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"outcomeSummary": "A String", # Output Only. The overall outcome of the test.
|
|
# Only set when the test matrix state is FINISHED.
|
|
}
|
|
|
|
requestId: string, A string id used to detect duplicated requests.
|
|
Ids are automatically scoped to a project, so
|
|
users should ensure the ID is unique per-project.
|
|
A UUID is recommended.
|
|
|
|
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:
|
|
|
|
{ # TestMatrix captures all details about a test. It contains the environment
|
|
# configuration, test specification, test executions and overall state and
|
|
# outcome.
|
|
"clientInfo": { # Information about the client which invoked the test. # Information about the client which invoked the test.
|
|
"clientInfoDetails": [ # The list of detailed information about client.
|
|
{ # Key-value pair of detailed information about the client which invoked the
|
|
# test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.
|
|
"key": "A String", # Required. The key of detailed client information.
|
|
"value": "A String", # Required. The value of detailed client information.
|
|
},
|
|
],
|
|
"name": "A String", # Required. Client name, such as gcloud.
|
|
},
|
|
"projectId": "A String", # The cloud project that owns the test matrix.
|
|
"resultStorage": { # Locations where the results of running the test are stored. # Required. Where the results for the matrix are written.
|
|
"toolResultsHistory": { # Represents a tool results history resource. # The tool results history that contains the tool results execution that
|
|
# results are written to.
|
|
#
|
|
# If not provided, the service will choose an appropriate value.
|
|
"projectId": "A String", # Required. The cloud project that owns the tool results history.
|
|
"historyId": "A String", # Required. A tool results history ID.
|
|
},
|
|
"googleCloudStorage": { # A storage location within Google cloud storage (GCS). # Required.
|
|
"gcsPath": "A String", # Required. The path to a directory in GCS that will
|
|
# eventually contain the results for this test.
|
|
# The requesting user must have write access on the bucket in the supplied
|
|
# path.
|
|
},
|
|
"toolResultsExecution": { # Represents a tool results execution resource. # Output only. The tool results execution that results are written to.
|
|
#
|
|
# This has the results of a TestMatrix.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results execution.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"resultsUrl": "A String", # Output only. URL to the results in the Firebase Web Console.
|
|
},
|
|
"flakyTestAttempts": 42, # The number of times a TestExecution should be re-attempted if one or more
|
|
# of its test cases fail for any reason.
|
|
# The maximum number of reruns allowed is 10.
|
|
#
|
|
# Default is 0, which implies no reruns.
|
|
"state": "A String", # Output only. Indicates the current progress of the test matrix.
|
|
"testExecutions": [ # Output only. The list of test executions that the service creates for
|
|
# this matrix.
|
|
{ # A single test executed in a single environment.
|
|
"timestamp": "A String", # Output only. The time this test execution was initially created.
|
|
"matrixId": "A String", # Output only. Id of the containing TestMatrix.
|
|
"testSpecification": { # A description of how to run the test. # Output only. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testDetails": { # Additional details about the progress of the running test. # Output only. Additional details about the running test.
|
|
"progressMessages": [ # Output only. Human-readable, detailed descriptions of the test's progress.
|
|
# For example: "Provisioning a device", "Starting Test".
|
|
#
|
|
# During the course of execution new data may be appended
|
|
# to the end of progress_messages.
|
|
"A String",
|
|
],
|
|
"errorMessage": "A String", # Output only. If the TestState is ERROR, then this string will contain
|
|
# human-readable details about the error.
|
|
},
|
|
"environment": { # The environment in which the test is run. # Output only. How the host machine(s) are configured.
|
|
"iosDevice": { # A single iOS device. # An iOS device which must be used with an iOS test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
"androidDevice": { # A single Android device. # An Android device which must be used with an Android test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
},
|
|
"state": "A String", # Output only. Indicates the current progress of the test execution
|
|
# (e.g., FINISHED).
|
|
"projectId": "A String", # Output only. The cloud project that owns the test execution.
|
|
"toolResultsStep": { # Represents a tool results step resource. # Output only. Where the results for this execution are written.
|
|
#
|
|
# This has the results of a TestExecution.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results step.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"stepId": "A String", # Output only. A tool results step ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"id": "A String", # Output only. Unique id set by the service.
|
|
},
|
|
],
|
|
"testSpecification": { # A description of how to run the test. # Required. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testMatrixId": "A String", # Output only. Unique id set by the service.
|
|
"timestamp": "A String", # Output only. The time this test matrix was initially created.
|
|
"invalidMatrixDetails": "A String", # Output only. Describes why the matrix is considered invalid.
|
|
# Only useful for matrices in the INVALID state.
|
|
"environmentMatrix": { # The matrix of environments in which the test is to be executed. # Required. The devices the tests are being executed on.
|
|
"androidDeviceList": { # A list of Android device configurations in which the test is to be executed. # A list of Android devices; the test will be run only on the specified
|
|
# devices.
|
|
"androidDevices": [ # Required. A list of Android devices.
|
|
{ # A single Android device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
"androidMatrix": { # A set of Android device configuration permutations is defined by the # A matrix of Android devices.
|
|
# the cross-product of the given axes. Internally, the given AndroidMatrix
|
|
# will be expanded into a set of AndroidDevices.
|
|
#
|
|
# Only supported permutations will be instantiated. Invalid permutations
|
|
# (e.g., incompatible models/versions) are ignored.
|
|
"locales": [ # Required. The set of locales the test device will enable for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidModelIds": [ # Required. The ids of the set of Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidVersionIds": [ # Required. The ids of the set of Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"orientations": [ # Required. The set of orientations to test with.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
},
|
|
"iosDeviceList": { # A list of iOS device configurations in which the test is to be executed. # A list of iOS devices.
|
|
"iosDevices": [ # Required. A list of iOS devices.
|
|
{ # A single iOS device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"outcomeSummary": "A String", # Output Only. The overall outcome of the test.
|
|
# Only set when the test matrix state is FINISHED.
|
|
}</pre>
|
|
</div>
|
|
|
|
<div class="method">
|
|
<code class="details" id="get">get(projectId, testMatrixId, x__xgafv=None)</code>
|
|
<pre>Checks the status of a test matrix.
|
|
|
|
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 Test Matrix does not exist
|
|
|
|
Args:
|
|
projectId: string, Cloud project that owns the test matrix. (required)
|
|
testMatrixId: string, Unique test matrix id which was assigned by the service. (required)
|
|
x__xgafv: string, V1 error format.
|
|
Allowed values
|
|
1 - v1 error format
|
|
2 - v2 error format
|
|
|
|
Returns:
|
|
An object of the form:
|
|
|
|
{ # TestMatrix captures all details about a test. It contains the environment
|
|
# configuration, test specification, test executions and overall state and
|
|
# outcome.
|
|
"clientInfo": { # Information about the client which invoked the test. # Information about the client which invoked the test.
|
|
"clientInfoDetails": [ # The list of detailed information about client.
|
|
{ # Key-value pair of detailed information about the client which invoked the
|
|
# test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.
|
|
"key": "A String", # Required. The key of detailed client information.
|
|
"value": "A String", # Required. The value of detailed client information.
|
|
},
|
|
],
|
|
"name": "A String", # Required. Client name, such as gcloud.
|
|
},
|
|
"projectId": "A String", # The cloud project that owns the test matrix.
|
|
"resultStorage": { # Locations where the results of running the test are stored. # Required. Where the results for the matrix are written.
|
|
"toolResultsHistory": { # Represents a tool results history resource. # The tool results history that contains the tool results execution that
|
|
# results are written to.
|
|
#
|
|
# If not provided, the service will choose an appropriate value.
|
|
"projectId": "A String", # Required. The cloud project that owns the tool results history.
|
|
"historyId": "A String", # Required. A tool results history ID.
|
|
},
|
|
"googleCloudStorage": { # A storage location within Google cloud storage (GCS). # Required.
|
|
"gcsPath": "A String", # Required. The path to a directory in GCS that will
|
|
# eventually contain the results for this test.
|
|
# The requesting user must have write access on the bucket in the supplied
|
|
# path.
|
|
},
|
|
"toolResultsExecution": { # Represents a tool results execution resource. # Output only. The tool results execution that results are written to.
|
|
#
|
|
# This has the results of a TestMatrix.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results execution.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"resultsUrl": "A String", # Output only. URL to the results in the Firebase Web Console.
|
|
},
|
|
"flakyTestAttempts": 42, # The number of times a TestExecution should be re-attempted if one or more
|
|
# of its test cases fail for any reason.
|
|
# The maximum number of reruns allowed is 10.
|
|
#
|
|
# Default is 0, which implies no reruns.
|
|
"state": "A String", # Output only. Indicates the current progress of the test matrix.
|
|
"testExecutions": [ # Output only. The list of test executions that the service creates for
|
|
# this matrix.
|
|
{ # A single test executed in a single environment.
|
|
"timestamp": "A String", # Output only. The time this test execution was initially created.
|
|
"matrixId": "A String", # Output only. Id of the containing TestMatrix.
|
|
"testSpecification": { # A description of how to run the test. # Output only. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testDetails": { # Additional details about the progress of the running test. # Output only. Additional details about the running test.
|
|
"progressMessages": [ # Output only. Human-readable, detailed descriptions of the test's progress.
|
|
# For example: "Provisioning a device", "Starting Test".
|
|
#
|
|
# During the course of execution new data may be appended
|
|
# to the end of progress_messages.
|
|
"A String",
|
|
],
|
|
"errorMessage": "A String", # Output only. If the TestState is ERROR, then this string will contain
|
|
# human-readable details about the error.
|
|
},
|
|
"environment": { # The environment in which the test is run. # Output only. How the host machine(s) are configured.
|
|
"iosDevice": { # A single iOS device. # An iOS device which must be used with an iOS test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
"androidDevice": { # A single Android device. # An Android device which must be used with an Android test.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
},
|
|
"state": "A String", # Output only. Indicates the current progress of the test execution
|
|
# (e.g., FINISHED).
|
|
"projectId": "A String", # Output only. The cloud project that owns the test execution.
|
|
"toolResultsStep": { # Represents a tool results step resource. # Output only. Where the results for this execution are written.
|
|
#
|
|
# This has the results of a TestExecution.
|
|
"projectId": "A String", # Output only. The cloud project that owns the tool results step.
|
|
"executionId": "A String", # Output only. A tool results execution ID.
|
|
"stepId": "A String", # Output only. A tool results step ID.
|
|
"historyId": "A String", # Output only. A tool results history ID.
|
|
},
|
|
"id": "A String", # Output only. Unique id set by the service.
|
|
},
|
|
],
|
|
"testSpecification": { # A description of how to run the test. # Required. How to run the test.
|
|
"iosTestSetup": { # A description of how to set up an iOS device prior to running the test. # Test setup requirements for iOS.
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
},
|
|
"iosXcTest": { # A test of an iOS application that uses the XCTest framework. # An iOS XCTest, via an .xctestrun file.
|
|
# Xcode supports the option to "build for testing", which generates an
|
|
# .xctestrun file that contains a test specification (arguments, test methods,
|
|
# etc). This test type accepts a zip file containing the .xctestrun file and
|
|
# the corresponding contents of the Build/Products directory that contains all
|
|
# the binaries needed to run the tests.
|
|
"xcodeVersion": "A String", # The Xcode version that should be used for the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
# Defaults to the latest Xcode version Firebase Test Lab supports.
|
|
"xctestrun": { # A reference to a file, used for user inputs. # An .xctestrun file that will override the .xctestrun file in the
|
|
# tests zip. Because the .xctestrun file contains environment variables along
|
|
# with test methods to run and/or ignore, this can be useful for sharding
|
|
# tests. Default is taken from the tests zip.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testsZip": { # A reference to a file, used for user inputs. # Required. The .zip containing the .xctestrun file and the contents of the
|
|
# DerivedData/Build/Products directory.
|
|
# The .xctestrun file in this zip is ignored if the xctestrun field is
|
|
# specified.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appBundleId": "A String", # Output only. The bundle id for the application under test.
|
|
},
|
|
"testTimeout": "A String", # Max time a test execution is allowed to run before it is
|
|
# automatically cancelled.
|
|
# The default value is 5 min.
|
|
"testSetup": { # A description of how to set up the Android device prior to running the test. # Test setup requirements for Android e.g. files to install, bootstrap
|
|
# scripts.
|
|
"account": { # Identifies an account and how to log into it. # The device will be logged in on this account for the duration of the test.
|
|
"googleAuto": { # Enables automatic Google account login. # An automatic google login account.
|
|
# If set, the service automatically generates a Google test account and adds
|
|
# it to the device, before executing the test. Note that test accounts might be
|
|
# reused.
|
|
# Many applications show their full set of functionalities when an account is
|
|
# present on the device. Logging into the device with these generated accounts
|
|
# allows testing more functionalities.
|
|
},
|
|
},
|
|
"networkProfile": "A String", # The network traffic profile used for running the test.
|
|
# Available network profiles can be queried by using the
|
|
# NETWORK_CONFIGURATION environment type when calling
|
|
# TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
|
"directoriesToPull": [ # List of directories on the device to upload to GCS at the end of the test;
|
|
# they must be absolute paths under /sdcard or /data/local/tmp.
|
|
# Path names are restricted to characters a-z A-Z 0-9 _ - . + and /
|
|
#
|
|
# Note: The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device.
|
|
"A String",
|
|
],
|
|
"filesToPush": [ # List of files to push to the device before starting the test.
|
|
{ # A single device file description.
|
|
"regularFile": { # A file or directory to install on the device before the test starts. # A reference to a regular file.
|
|
"content": { # A reference to a file, used for user inputs. # Required. The source file.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"devicePath": "A String", # Required. Where to put the content on the device. Must be an absolute,
|
|
# whitelisted path. If the file exists, it will be replaced.
|
|
# The following device-side directories and any of their subdirectories are
|
|
# whitelisted:
|
|
# <p>${EXTERNAL_STORAGE}, or /sdcard</p>
|
|
# <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p>
|
|
# <p>Specifying a path outside of these directory trees is invalid.
|
|
#
|
|
# <p> The paths /sdcard and /data will be made available and treated as
|
|
# implicit path substitutions. E.g. if /sdcard on a particular device does
|
|
# not map to external storage, the system will replace it with the external
|
|
# storage path prefix for that device and copy the file there.
|
|
#
|
|
# <p> It is strongly advised to use the <a href=
|
|
# "http://developer.android.com/reference/android/os/Environment.html">
|
|
# Environment API</a> in app and test code to access files on the device in a
|
|
# portable way.
|
|
},
|
|
"obbFile": { # An opaque binary blob file to install on the device before the test starts. # A reference to an opaque binary blob file.
|
|
"obbFileName": "A String", # Required. OBB file name which must conform to the format as specified by
|
|
# Android
|
|
# e.g. [main|patch].0300110.com.example.android.obb
|
|
# which will be installed into
|
|
# \<shared-storage\>/Android/obb/\<package-name\>/
|
|
# on the device.
|
|
"obb": { # A reference to a file, used for user inputs. # Required. Opaque Binary Blob (OBB) file(s) to install on the device.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"additionalApks": [ # APKs to install in addition to those being directly tested.
|
|
# Currently capped at 100.
|
|
{ # An Android package file to install.
|
|
"packageName": "A String", # The java package for the APK to be installed.
|
|
# Value is determined by examining the application's manifest.
|
|
"location": { # A reference to a file, used for user inputs. # The path to an APK to be installed on the device before the test begins.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
],
|
|
"environmentVariables": [ # Environment variables to set for the test (only applicable for
|
|
# instrumentation tests).
|
|
{ # A key-value pair passed as an environment variable to the test.
|
|
"value": "A String", # Value for the environment variable.
|
|
"key": "A String", # Key for the environment variable.
|
|
},
|
|
],
|
|
},
|
|
"disableVideoRecording": True or False, # Disables video recording. May reduce test latency.
|
|
"androidTestLoop": { # A test of an Android Application with a Test Loop. # An Android Application with a Test Loop.
|
|
# The intent \<intent-name\> will be implicitly added, since Games is the only
|
|
# user of this api, for the time being.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"scenarios": [ # The list of scenarios that should be run during the test.
|
|
# The default is all test loops, derived from the application's
|
|
# manifest.
|
|
42,
|
|
],
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default is determined by examining the application's manifest.
|
|
"scenarioLabels": [ # The list of scenario labels that should be run during the test.
|
|
# The scenario labels should map to labels defined in the application's
|
|
# manifest. For example, player_experience and
|
|
# com.google.test.loops.player_experience add all of the loops labeled in the
|
|
# manifest with the com.google.test.loops.player_experience name to the
|
|
# execution.
|
|
# Scenarios can also be specified in the scenarios field.
|
|
"A String",
|
|
],
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"disablePerformanceMetrics": True or False, # Disables performance metrics recording. May reduce test latency.
|
|
"androidRoboTest": { # A test of an android application that explores the application on a virtual # An Android robo test.
|
|
# or physical Android Device, finding culprits and crashes as it goes.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"roboDirectives": [ # A set of directives Robo should apply during the crawl.
|
|
# This allows users to customize the crawl. For example, the username and
|
|
# password for a test account can be provided.
|
|
{ # Directs Robo to interact with a specific UI element if it is encountered
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
"inputText": "A String", # The text that Robo is directed to set. If left empty, the directive will be
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
"resourceName": "A String", # Required. The android resource name of the target UI element.
|
|
# For example,
|
|
# in Java: R.string.foo
|
|
# in xml: @string/foo
|
|
# Only the "foo" part is needed.
|
|
# Reference doc:
|
|
# https://developer.android.com/guide/topics/resources/accessing-resources.html
|
|
"actionType": "A String", # Required. The type of action that Robo should perform on the specified
|
|
# element.
|
|
},
|
|
],
|
|
"roboScript": { # A reference to a file, used for user inputs. # A JSON file with a sequence of actions Robo should perform as a prologue
|
|
# for the crawl.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"maxDepth": 42, # The max depth of the traversal stack Robo can explore. Needs to be at least
|
|
# 2 to make Robo explore the app beyond the first activity.
|
|
# Default is 50.
|
|
"startingIntents": [ # The intents used to launch the app for the crawl.
|
|
# If none are provided, then the main launcher activity is launched.
|
|
# If some are provided, then only those provided are launched (the main
|
|
# launcher activity must be provided explicitly).
|
|
{ # Message for specifying the start activities to crawl.
|
|
"startActivity": { # A starting intent specified by an action, uri, and categories. # An intent that starts an activity with specific details.
|
|
"action": "A String", # Action name.
|
|
# Required for START_ACTIVITY.
|
|
"uri": "A String", # URI for the action.
|
|
"categories": [ # Intent categories to set on the intent.
|
|
"A String",
|
|
],
|
|
},
|
|
"timeout": "A String", # Timeout in seconds for each intent.
|
|
"launcherActivity": { # Specifies an intent that starts the main launcher activity. # An intent that starts the main launcher activity.
|
|
},
|
|
},
|
|
],
|
|
"maxSteps": 42, # The max number of steps Robo can execute.
|
|
# Default is no limit.
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appInitialActivity": "A String", # The initial activity that should be used to start the app.
|
|
},
|
|
"androidInstrumentationTest": { # A test of an Android application that can control an Android component # An Android instrumentation test.
|
|
# independently of its normal lifecycle.
|
|
# Android instrumentation tests run an application APK and test APK inside the
|
|
# same process on a virtual or physical AndroidDevice. They also specify
|
|
# a test runner class, such as com.google.GoogleTestRunner, which can vary
|
|
# on the specific instrumentation framework chosen.
|
|
#
|
|
# See <http://developer.android.com/tools/testing/testing_android.html> for
|
|
# more information on types of Android tests.
|
|
"appBundle": { # An Android App Bundle file format, containing a BundleConfig.pb file, # A multi-apk app bundle for the application under test.
|
|
# a base module directory, zero or more dynamic feature module directories.
|
|
# <p>See https://developer.android.com/guide/app-bundle/build for guidance on
|
|
# building App Bundles.
|
|
"bundleLocation": { # A reference to a file, used for user inputs. # .aab file representing the app bundle under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
},
|
|
"testApk": { # A reference to a file, used for user inputs. # Required. The APK containing the test code to be executed.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"testRunnerClass": "A String", # The InstrumentationTestRunner class.
|
|
# The default value is determined by examining the application's manifest.
|
|
"testPackageId": "A String", # The java package for the test to be executed.
|
|
# The default value is determined by examining the application's manifest.
|
|
"appApk": { # A reference to a file, used for user inputs. # The APK for the application under test.
|
|
"gcsPath": "A String", # A path to a file in Google Cloud Storage.
|
|
# Example: gs://build-app-1414623860166/app-debug-unaligned.apk
|
|
},
|
|
"appPackageId": "A String", # The java package for the application under test.
|
|
# The default value is determined by examining the application's manifest.
|
|
"orchestratorOption": "A String", # The option of whether running each test within its own invocation of
|
|
# instrumentation with Android Test Orchestrator or not.
|
|
# ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
|
|
# higher! **
|
|
# Orchestrator offers the following benefits:
|
|
# - No shared state
|
|
# - Crashes are isolated
|
|
# - Logs are scoped per test
|
|
#
|
|
# See
|
|
# <https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator>
|
|
# for more information about Android Test Orchestrator.
|
|
#
|
|
# If not set, the test will be run without the orchestrator.
|
|
"testTargets": [ # Each target must be fully qualified with the package name or class name,
|
|
# in one of these formats:
|
|
# - "package package_name"
|
|
# - "class package_name.class_name"
|
|
# - "class package_name.class_name#method_name"
|
|
#
|
|
# If empty, all targets in the module will be run.
|
|
"A String",
|
|
],
|
|
},
|
|
},
|
|
"testMatrixId": "A String", # Output only. Unique id set by the service.
|
|
"timestamp": "A String", # Output only. The time this test matrix was initially created.
|
|
"invalidMatrixDetails": "A String", # Output only. Describes why the matrix is considered invalid.
|
|
# Only useful for matrices in the INVALID state.
|
|
"environmentMatrix": { # The matrix of environments in which the test is to be executed. # Required. The devices the tests are being executed on.
|
|
"androidDeviceList": { # A list of Android device configurations in which the test is to be executed. # A list of Android devices; the test will be run only on the specified
|
|
# devices.
|
|
"androidDevices": [ # Required. A list of Android devices.
|
|
{ # A single Android device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidVersionId": "A String", # Required. The id of the Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"androidModelId": "A String", # Required. The id of the Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
"androidMatrix": { # A set of Android device configuration permutations is defined by the # A matrix of Android devices.
|
|
# the cross-product of the given axes. Internally, the given AndroidMatrix
|
|
# will be expanded into a set of AndroidDevices.
|
|
#
|
|
# Only supported permutations will be instantiated. Invalid permutations
|
|
# (e.g., incompatible models/versions) are ignored.
|
|
"locales": [ # Required. The set of locales the test device will enable for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidModelIds": [ # Required. The ids of the set of Android device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"androidVersionIds": [ # Required. The ids of the set of Android OS version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
"orientations": [ # Required. The set of orientations to test with.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"A String",
|
|
],
|
|
},
|
|
"iosDeviceList": { # A list of iOS device configurations in which the test is to be executed. # A list of iOS devices.
|
|
"iosDevices": [ # Required. A list of iOS devices.
|
|
{ # A single iOS device.
|
|
"locale": "A String", # Required. The locale the test device used for testing.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosVersionId": "A String", # Required. The id of the iOS major software version to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"orientation": "A String", # Required. How the device is oriented during the test.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
"iosModelId": "A String", # Required. The id of the iOS device to be used.
|
|
# Use the TestEnvironmentDiscoveryService to get supported options.
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"outcomeSummary": "A String", # Output Only. The overall outcome of the test.
|
|
# Only set when the test matrix state is FINISHED.
|
|
}</pre>
|
|
</div>
|
|
|
|
</body></html> |