| <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> |