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