Go to console

REST Resource: projects.testMatrices

Resource: TestMatrix

A group of one or more TestExecutions, built by taking a product of values over a pre-defined set of axes.

JSON representation
{
  "testMatrixId": string,
  "projectId": string,
  "clientInfo": {
    object(ClientInfo)
  },
  "testSpecification": {
    object(TestSpecification)
  },
  "environmentMatrix": {
    object(EnvironmentMatrix)
  },
  "testExecutions": [
    {
      object(TestExecution)
    }
  ],
  "resultStorage": {
    object(ResultStorage)
  },
  "state": enum(TestState),
  "timestamp": string,
  "invalidMatrixDetails": enum(InvalidMatrixDetails)
}
Fields
testMatrixId

string

Output only. Unique id set by the service.

projectId

string

The cloud project that owns the test matrix.

clientInfo

object(ClientInfo)

Information about the client which invoked the test.

testSpecification

object(TestSpecification)

Required. How to run the test.

environmentMatrix

object(EnvironmentMatrix)

Required. How the host machine(s) are configured.

testExecutions[]

object(TestExecution)

Output only. The list of test executions that the service creates for this matrix.

resultStorage

object(ResultStorage)

Required. Where the results for the matrix are written.

state

enum(TestState)

Output only. Indicates the current progress of the test matrix (e.g., FINISHED).

timestamp

string (Timestamp format)

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

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

invalidMatrixDetails

enum(InvalidMatrixDetails)

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

ClientInfo

Information about the client which invoked the test.

JSON representation
{
  "name": string,
  "clientInfoDetails": [
    {
      object(ClientInfoDetail)
    }
  ]
}
Fields
name

string

Required. Client name, such as gcloud.

clientInfoDetails[]

object(ClientInfoDetail)

The list of detailed information about client.

ClientInfoDetail

Key-value pair of detailed information about the client which invoked the test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

Required. The key of detailed client information.

value

string

Required. The value of detailed client information.

TestSpecification

A description of how to run the test.

JSON representation
{
  "testTimeout": string,
  "autoGoogleLogin": boolean,
  "disableVideoRecording": boolean,
  "disablePerformanceMetrics": boolean,

  // Union field setup can be only one of the following:
  "testSetup": {
    object(TestSetup)
  },
  "iosTestSetup": {
    object(IosTestSetup)
  }
  // End of list of possible types for union field setup.

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object(AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object(AndroidRoboTest)
  },
  "androidTestLoop": {
    object(AndroidTestLoop)
  },
  "iosXcTest": {
    object(IosXcTest)
  }
  // End of list of possible types for union field test.
}
Fields
testTimeout

string (Duration format)

Max time a test execution is allowed to run before it is automatically cancelled. The default value is 5 min.

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

autoGoogleLogin
(deprecated)

boolean

Enables automatic Google account login. If set, the service will automatically generate a Google test account and add 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. Default is false.

disableVideoRecording

boolean

Disables video recording; may reduce test latency.

disablePerformanceMetrics

boolean

Disables performance metrics recording; may reduce test latency.

Union field setup.

setup can be only one of the following:

testSetup

object(TestSetup)

Test setup requirements for Android e.g. files to install, bootstrap scripts.

iosTestSetup

object(IosTestSetup)

Test setup requirements for iOS.

Union field test. Required. The type of test to run. test can be only one of the following:
androidInstrumentationTest

object(AndroidInstrumentationTest)

An Android instrumentation test.

androidRoboTest

object(AndroidRoboTest)

An Android robo test.

androidTestLoop

object(AndroidTestLoop)

An Android Application with a Test Loop.

iosXcTest

object(IosXcTest)

An iOS XCTest, via an .xctestrun file.

TestSetup

A description of how to set up the Android device prior to running the test.

JSON representation
{
  "filesToPush": [
    {
      object(DeviceFile)
    }
  ],
  "directoriesToPull": [
    string
  ],
  "additionalApks": [
    {
      object(Apk)
    }
  ],
  "account": {
    object(Account)
  },
  "networkProfile": string,
  "environmentVariables": [
    {
      object(EnvironmentVariable)
    }
  ]
}
Fields
filesToPush[]

object(DeviceFile)

List of files to push to the device before starting the test.

directoriesToPull[]

string

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.

additionalApks[]

object(Apk)

APKs to install in addition to those being directly tested. Currently capped at 100.

account

object(Account)

The device will be logged in on this account for the duration of the test.

networkProfile

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.

environmentVariables[]

object(EnvironmentVariable)

Environment variables to set for the test (only applicable for instrumentation tests).

DeviceFile

A single device file description.

JSON representation
{

  // Union field device_file can be only one of the following:
  "obbFile": {
    object(ObbFile)
  },
  "regularFile": {
    object(RegularFile)
  }
  // End of list of possible types for union field device_file.
}
Fields
Union field device_file. Required. device_file can be only one of the following:
obbFile

object(ObbFile)

A reference to an opaque binary blob file

regularFile

object(RegularFile)

A reference to a regular file

ObbFile

An opaque binary blob file to install on the device before the test starts.

JSON representation
{
  "obbFileName": string,
  "obb": {
    object(FileReference)
  }
}
Fields
obbFileName

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.