projects

Creates and runs a matrix of tests according to the given specifications. Unsupported environments will be returned in the state UNSUPPORTED. A test matrix is limited to use at most 2000 devices in parallel. The returned matrix will not yet contain the executions that will be created for this matrix. Execution creation happens later on and will require a call to GetTestMatrix. 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 tries to use too many simultaneous devices.

post/v1/projects/{projectId}/testMatrices

Request

  • Base URL: https://testing.googleapis.com
  • URL: https://testing.googleapis.com/v1/projects/{projectId}/testMatrices
  • Auth: OAuth 2 (implicit, authorization URL https://accounts.google.com/o/oauth2/auth, scopes: https://www.googleapis.com/auth/cloud-platform) and OAuth 2 (authorization code, authorization URL https://accounts.google.com/o/oauth2/auth, token URL https://accounts.google.com/o/oauth2/token, scopes: https://www.googleapis.com/auth/cloud-platform)

Path parameters

projectIdstring required

The GCE project under which this job will run.

Query parameters

requestIdstring

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.

Request body

failFastboolean

If true, only a single attempt at most will be made to run each execution/shard in the matrix. Flaky test attempts are not affected. Normally, 2 or more attempts are made if a potential infrastructure issue is detected. This feature is for latency sensitive workloads. The incidence of execution failures may be significantly greater for fail-fast matrices and support is more limited because of that expectation.

flakyTestAttemptsinteger

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.

invalidMatrixDetails'INVALID_MATRIX_DETAILS_UNSPECIFIED' | 'DETAILS_UNAVAILABLE' | 'MALFORMED_APK' | 'MALFORMED_TEST_APK' | 'NO_MANIFEST' | 'NO_PACKAGE_NAME' | 'INVALID_PACKAGE_NAME' | 'TEST_SAME_AS_APP' | 'NO_INSTRUMENTATION' | 'NO_SIGNATURE' | 'INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE' | 'NO_TEST_RUNNER_CLASS' | 'NO_LAUNCHER_ACTIVITY' | 'FORBIDDEN_PERMISSIONS' | 'INVALID_ROBO_DIRECTIVES' | 'INVALID_RESOURCE_NAME' | 'INVALID_DIRECTIVE_ACTION' | 'TEST_LOOP_INTENT_FILTER_NOT_FOUND' | 'SCENARIO_LABEL_NOT_DECLARED' | 'SCENARIO_LABEL_MALFORMED' | 'SCENARIO_NOT_DECLARED' | 'DEVICE_ADMIN_RECEIVER' | 'MALFORMED_XC_TEST_ZIP' | 'BUILT_FOR_IOS_SIMULATOR' | 'NO_TESTS_IN_XC_TEST_ZIP' | 'USE_DESTINATION_ARTIFACTS' | 'TEST_NOT_APP_HOSTED' | 'PLIST_CANNOT_BE_PARSED' | 'TEST_ONLY_APK' | 'MALFORMED_IPA' | 'MISSING_URL_SCHEME' | 'MALFORMED_APP_BUNDLE' | 'NO_CODE_APK' | 'INVALID_INPUT_APK' | 'INVALID_APK_PREVIEW_SDK' | 'MATRIX_TOO_LARGE' | 'TEST_QUOTA_EXCEEDED' | 'SERVICE_NOT_ACTIVATED' | 'UNKNOWN_PERMISSION_ERROR'

Output only. Describes why the matrix is considered invalid. Only useful for matrices in the INVALID state.

outcomeSummary'OUTCOME_SUMMARY_UNSPECIFIED' | 'SUCCESS' | 'FAILURE' | 'INCONCLUSIVE' | 'SKIPPED'

Output Only. The overall outcome of the test. Only set when the test matrix state is FINISHED.

projectIdstring

The cloud project that owns the test matrix.

state'TEST_STATE_UNSPECIFIED' | 'VALIDATING' | 'PENDING' | 'RUNNING' | 'FINISHED' | 'ERROR' | 'UNSUPPORTED_ENVIRONMENT' | 'INCOMPATIBLE_ENVIRONMENT' | 'INCOMPATIBLE_ARCHITECTURE' | 'CANCELLED' | 'INVALID'

Output only. Indicates the current progress of the test matrix.

testMatrixIdstring

Output only. Unique id set by the service.

timestampstring google-datetime

Output only. The time this test matrix was initially created.

Response

Successful response

Changes

    • breaking

      removed the request body

    • breaking

      removed the media type */* for the response with the status