REST Resource: projects.testMatrices

リソース: TestMatrix

TestMatrix はテストに関するすべての詳細情報をキャプチャします。これには、環境構成、テスト仕様、テスト実行、全体的な状態と結果が含まれます。

JSON 表現
{
  "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),
  "extendedInvalidMatrixDetails": [
    {
      object (MatrixErrorDetail)
    }
  ],
  "flakyTestAttempts": integer,
  "outcomeSummary": enum (OutcomeSummary),
  "failFast": boolean
}
フィールド
testMatrixId

string

出力専用。サービスによって設定された一意の ID。

projectId

string

テスト マトリックスを所有する Cloud プロジェクト。

clientInfo

object (ClientInfo)

テストを呼び出したクライアントに関する情報。

testSpecification

object (TestSpecification)

必須。テストの実行方法。

environmentMatrix

object (EnvironmentMatrix)

必須。テストが実行されているデバイス。

testExecutions[]

object (TestExecution)

出力専用。このマトリックスに対してサービスが作成するテスト実行のリスト。

resultStorage

object (ResultStorage)

必須。マトリックスの結果が書き込まれる場所。

state

enum (TestState)

出力専用。テスト マトリックスの現在の進捗状況を示します。

timestamp

string (Timestamp format)

出力専用。このテスト マトリックスが最初に作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

invalidMatrixDetails

enum (InvalidMatrixDetails)

出力専用。マトリックスが無効と見なされる理由を説明します。INVALID 状態のマトリックスに対してのみ有効です。

extendedInvalidMatrixDetails[]

object (MatrixErrorDetail)

出力専用。マトリックスが無効とみなされた理由の詳細。複数のチェックを安全に実行できる場合は報告されますが、このリストの長さについては何らの仮定もしないでください。

flakyTestAttempts

integer

なんらかの理由で 1 つ以上のテストケースが失敗した場合に、TestExecution を再試行する回数。許可される再実行の最大数は 10 です。

デフォルトは 0 で、これは再実行がないことを意味します。

outcomeSummary

enum (OutcomeSummary)

出力専用。テストの全体的な結果。テスト マトリックスのステータスが FINISHED の場合にのみ設定されます。

failFast

boolean

true の場合、マトリックス内の各実行/シャードの実行が最大 1 回試行されます。不安定なテストの試行には影響しません。

通常、潜在的なインフラストラクチャの問題が検出された場合は、2 回以上の試行が行われます。

この機能は、レイテンシの影響を受けやすいワークロード向けです。フェイル ファスト マトリックスでは実行エラーの発生率が著しく大きくなる可能性があり、その期待によりサポートは限定的です。

ClientInfo

テストを呼び出したクライアントに関する情報。

JSON 表現
{
  "name": string,
  "clientInfoDetails": [
    {
      object (ClientInfoDetail)
    }
  ]
}
フィールド
name

string

必須。クライアント名(gcloud など)。

clientInfoDetails[]

object (ClientInfoDetail)

クライアントに関する詳細情報のリスト。

ClientInfoDetail

テストを呼び出したクライアントに関する詳細情報の Key-Value ペア。たとえば {'Version', '1.0'}、{'Release Track', 'BETA'} です。

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

必須。詳細なクライアント情報のキー。

value

string

必須。詳細なクライアント情報の値。

TestSpecification

テストの実行方法の説明。

JSON 表現
{
  "testTimeout": string,
  "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)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
フィールド
testTimeout

string (Duration format)

テスト実行が自動的にキャンセルされる前に実行できる最大時間。デフォルト値は 5 分です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

disableVideoRecording

boolean

録画を無効にします。テストのレイテンシが短くなる場合があります。

disablePerformanceMetrics

boolean

パフォーマンス指標の記録を無効にします。テストのレイテンシが短くなる場合があります。

共用体フィールド setup。テストのセットアップ要件setup は次のいずれかになります。
testSetup

object (TestSetup)

Android のテストセットアップ要件インストールするファイル、ブートストラップ スクリプト。

iosTestSetup

object (IosTestSetup)

iOS のテスト設定要件

共用体フィールド test。必須。実行するテストのタイプ。test は次のいずれかになります。
androidInstrumentationTest

object (AndroidInstrumentationTest)

Android インストルメンテーション テスト。

androidRoboTest

object (AndroidRoboTest)

Android の robo テスト。

androidTestLoop

object (AndroidTestLoop)

テストループを備えた Android アプリ。

iosXcTest

object (IosXcTest)

iOS XCTest(.xctestrun ファイル経由)。

iosTestLoop

object (IosTestLoop)

テストループを備えた iOS アプリ。

iosRoboTest

object (IosRoboTest)

iOS Robo テスト。

TestSetup

テストを実行する前に Android デバイスを設定する方法の説明。

JSON 表現
{
  "filesToPush": [
    {
      object (DeviceFile)
    }
  ],
  "directoriesToPull": [
    string
  ],
  "initialSetupApks": [
    {
      object (Apk)
    }
  ],
  "additionalApks": [
    {
      object (Apk)
    }
  ],
  "account": {
    object (Account)
  },
  "networkProfile": string,
  "environmentVariables": [
    {
      object (EnvironmentVariable)
    }
  ],
  "systrace": {
    object (SystraceSetup)
  },
  "dontAutograntPermissions": boolean
}
フィールド
filesToPush[]

object (DeviceFile)

テストを開始する前にデバイスにプッシュするファイルのリスト。

directoriesToPull[]

string

テスト終了時に GCS にアップロードするデバイス上のディレクトリのリスト/sdcard、/storage、/data/local/tmp の下の絶対パスにする必要があります。パス名に使用できる文字は a ~ z、A ~ Z、0 ~ 9 _ - です。+ および /

注: パス /sdcard および /data は、暗黙のパス置換として使用可能になり、処理されます。たとえば、特定のデバイスの /sdcard が外部ストレージにマッピングされていない場合、システムはこのパスをそのデバイスの外部ストレージパスの接頭辞に置き換えます。

initialSetupApks[]

object (Apk)

省略可。テスト対象のアプリをインストールする前にインストールする初期設定の APK。現在の上限は 100 個です。

additionalApks[]

object (Apk)

直接テストされている APK に加えて、インストールする APK。これらはテスト対象のアプリの後にインストールされます。現在の上限は 100 個です。

account

object (Account)

テスト中、デバイスはこのアカウントでログインします。

networkProfile

string

テストの実行に使用されるネットワーク トラフィック プロファイル。TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog を呼び出すときに、NETWORK_CONFIGURATION 環境タイプを使用して使用可能なネットワーク プロファイルをクエリできます。

environmentVariables[]

object (EnvironmentVariable)

テストに設定する環境変数(インストルメンテーション テストにのみ適用されます)。

systrace
(deprecated)

object (SystraceSetup)

実行の Systrace 構成。非推奨: Systrace は 2020 年 1 月 1 日に廃止された Python 2 を使用しました。Systrace は Cloud Testing API でサポートされなくなったため、結果に Systrace ファイルは提供されません。

dontAutograntPermissions

boolean

アプリのインストール時にすべての実行時の権限を付与できないようにするかどうか

DeviceFile

単一のデバイス ファイルの説明。

JSON 表現
{

  // 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.
}
フィールド
共用体フィールド device_file。必須。device_file は次のいずれかになります。
obbFile

object (ObbFile)

不透明なバイナリ blob ファイルへの参照。

regularFile

object (RegularFile)

通常のファイルへの参照。

ObbFile

テストが開始される前にデバイスにインストールする不透明なバイナリ blob ファイル。

JSON 表現
{
  "obbFileName": string,
  "obb": {
    object (FileReference)
  }
}
フィールド
obbFileName

string

必須。Android で指定された形式に準拠する必要がある OBB ファイル名([main|patch].0300110.com.example.android.obb など)は、デバイスの <shared-storage>/Android/obb/<package-name>/ 上にインストールされます。

obb

object (FileReference)

必須。デバイスにインストールする Opaque Binary Blob(OBB)ファイル。

FileReference

ユーザー入力に使用されるファイルへの参照。

JSON 表現
{

  // Union field file can be only one of the following:
  "gcsPath": string
  // End of list of possible types for union field file.
}
フィールド
共用体フィールド file。必須。ファイル参照。file は次のいずれかになります。
gcsPath

string

Google Cloud Storage 内のファイルのパス。例: gs://build-app-1414623860166/app%40debug-unaligned.apk これらのパスは URL エンコード(パーセント エンコーディング)である必要があります。

RegularFile

テストが開始される前にデバイスにインストールするファイルまたはディレクトリ。

JSON 表現
{
  "content": {
    object (FileReference)
  },
  "devicePath": string
}
フィールド
content

object (FileReference)

必須。ソースファイル。

devicePath

string

必須。デバイス上のコンテンツの配置場所。許可リストに登録されている絶対パスを指定する必要があります。ファイルが存在する場合、ファイルが置き換えられます。次のデバイス側のディレクトリとそのサブディレクトリが許可リストに登録されています。

${EXTERNAL_STORAGE}、/sdcard、または /storage

${ANDROID_DATA}/local/tmp、または /data/local/tmp

これらのディレクトリ ツリーの外部にあるパスを指定することは無効です。

パス /sdcard と /data が利用可能になり、暗黙的なパス置換として扱われます。たとえば、特定のデバイスの /sdcard が外部ストレージにマッピングされていない場合、システムはこのパスをそのデバイスの外部ストレージパスの接頭辞に置き換え、そこにファイルをコピーします。

デバイス上のファイルにポータブルな方法でアクセスするには、アプリおよびテストのコードで Environment API を使用することを強くおすすめします。

APK

インストールする Android パッケージ ファイル。

JSON 表現
{
  "location": {
    object (FileReference)
  },
  "packageName": string
}
フィールド
location

object (FileReference)

テスト開始前にデバイスにインストールされる APK のパス。

packageName

string

インストールする APK の Java パッケージ。値は、アプリケーションのマニフェストを調べることで決定されます。

アカウント

アカウントおよびアカウントへのログイン方法を指定します。

JSON 表現
{

  // Union field account_type can be only one of the following:
  "googleAuto": {
    object (GoogleAuto)
  }
  // End of list of possible types for union field account_type.
}
フィールド
共用体フィールド account_type。必須。アカウントの種類。目的(Google など)とログイン メカニズム(ユーザー名とパスワードなど)に基づいています。account_type は次のいずれかになります。
googleAuto

object (GoogleAuto)

Google の自動ログイン アカウント。

GoogleAuto

この型にはフィールドがありません。

Google アカウントの自動ログインを有効にします。設定すると、テストを実行する前に Google のテスト アカウントが自動的に生成され、デバイスに追加されます。テスト アカウントは再利用される場合があるので注意してください。アカウントがデバイスに存在するとき、多くのアプリケーションはその完全な機能セットを示します。これらの生成されたアカウントでデバイスにログインすると、より多くの機能をテストできます。

EnvironmentVariable

環境変数としてテストに渡される Key-Value ペア。

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

環境変数のキー。

value

string

環境変数の値。

Systrace 設定

JSON 表現
{
  "durationSeconds": integer
}
フィールド
durationSeconds
(deprecated)

integer

Systrace の実行時間(秒単位)。1 ~ 30 秒の範囲で指定してください。0 は systrace を無効にします。

IosTestSetup

テストを実行する前に iOS デバイスを設定する方法の説明。

JSON 表現
{
  "networkProfile": string,
  "additionalIpas": [
    {
      object (FileReference)
    }
  ],
  "pushFiles": [
    {
      object (IosDeviceFile)
    }
  ],
  "pullDirectories": [
    {
      object (IosDeviceFile)
    }
  ]
}
フィールド
networkProfile

string

テストの実行に使用されるネットワーク トラフィック プロファイル。TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog を呼び出すときに、NETWORK_CONFIGURATION 環境タイプを使用して使用可能なネットワーク プロファイルをクエリできます。

additionalIpas[]

object (FileReference)

直接テストされているものに加えて、インストールする iOS アプリがあります。

pushFiles[]

object (IosDeviceFile)

テストを開始する前にデバイスにプッシュするファイルのリスト。

pullDirectories[]

object (IosDeviceFile)

テスト終了時に Cloud Storage にアップロードするデバイス上のディレクトリのリスト。

ディレクトリは、共有ディレクトリ(/private/var/mobile/Media など)か、アプリのファイル システム内のアクセス可能なディレクトリ(/Documents など)にバンドル ID を指定して作成します。

iOSDeviceFile

テストが開始される前にデバイスにインストールするファイルまたはディレクトリ。

JSON 表現
{
  "content": {
    object (FileReference)
  },
  "bundleId": string,
  "devicePath": string
}
フィールド
content

object (FileReference)

ソースファイル

bundleId

string

このファイルが存在するアプリのバンドル ID。

iOS アプリは独自のファイル システムをサンドボックス化しているため、アプリファイルではデバイスにインストールするアプリを指定する必要があります。

devicePath

string

デバイス上のファイルの場所(アプリのサンドボックス化されたファイルシステム内)

AndroidInstrumentationTest

通常のライフサイクルとは無関係に Android コンポーネントを制御できる Android アプリケーションのテスト。Android インストゥルメンテーション テストは、仮想的または物理的な AndroidDevice 上の同じプロセス内でアプリケーション APK とテスト APK を実行します。また、com.google.GoogleTestRunner などのテストランナー クラスも指定します。これは選択したインストルメンテーション フレームワークによって異なる場合があります。

Android テストの種類について詳しくは、https://developer.android.com/training/testing/fundamentals をご覧ください。

JSON 表現
{
  "testApk": {
    object (FileReference)
  },
  "appPackageId": string,
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "orchestratorOption": enum (OrchestratorOption),
  "shardingOption": {
    object (ShardingOption)
  },

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
フィールド
testApk

object (FileReference)

必須。実行されるテストコードを含む APK。

appPackageId

string

テスト対象のアプリケーションの Java パッケージ。デフォルト値は、アプリケーションのマニフェストを調べることで決まります。

testPackageId

string

実行されるテストの Java パッケージ。デフォルト値は、アプリケーションのマニフェストを調べることで決まります。

testRunnerClass

string

InstrumentationTestRunner クラス。デフォルト値は、アプリケーションのマニフェストを調べることで決まります。

testTargets[]

string

各ターゲットは、次のいずれかの形式でパッケージ名またはクラス名で完全修飾する必要があります。

  • 「package packageName」
  • 「class packageName.class_name」
  • 「class packageName.class_name#methodName」

空の場合、モジュール内のすべてのターゲットが実行されます。

orchestratorOption

enum (OrchestratorOption)

Android Test Orchestrator で、各テストを独自のインストゥルメンテーションの呼び出し内で実行するかどうかのオプション。** Orchestrator は AndroidJUnitRunner バージョン 1.1 以降とのみ互換性があります。** オーケストレーターには次の利点があります。

  • 共有状態なし
  • クラッシュは
  • ログはテストごとにスコープ設定される

Android Test Orchestrator の詳細については、https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator をご覧ください。

設定しない場合、テストは Orchestrator なしで実行されます。

shardingOption

object (ShardingOption)

複数のシャードでテストを並行して実行するオプション。

共用体フィールド app_under_test。必須。app_under_test は次のいずれかになります。
appApk

object (FileReference)

テスト対象アプリの APK。

appBundle

object (AppBundle)

テスト対象アプリ用のマルチ APK App Bundle。

AppBundle

BundleConfig.pb ファイル、ベース モジュール ディレクトリ、0 個以上の動的機能モジュール ディレクトリを含む Android App Bundle ファイル フォーマット。

App Bundle の構築のガイダンスについては、https://developer.android.com/guide/app-bundle/build をご覧ください。

JSON 表現
{

  // Union field bundle can be only one of the following:
  "bundleLocation": {
    object (FileReference)
  }
  // End of list of possible types for union field bundle.
}
フィールド
共用体フィールド bundle。必須。バンドルの場所に関する情報。bundle は次のいずれかになります。
bundleLocation

object (FileReference)

テスト対象の App Bundle を表す .aab ファイル。

OrchestratorOption

テストの実行方法を指定します。

列挙型
ORCHESTRATOR_OPTION_UNSPECIFIED デフォルト値: サーバーはモードを選択します。現在は、テストがオーケストレーターなしで実行されることを示します。将来的には、すべてのインストゥルメンテーション テストはオーケストレーターで実行される予定です。オーケストレーターには多くの有用な機能があるため、その使用を強くおすすめします。
USE_ORCHESTRATOR オーケストレーターを使用してテストを実行します。** AndroidJUnitRunner バージョン 1.1 以降にのみ互換性があります。** 推奨。
DO_NOT_USE_ORCHESTRATOR オーケストレーターを使用せずにテストを実行します。

ShardingOption

シャーディングを有効にするオプション。

JSON 表現
{

  // Union field option can be only one of the following:
  "uniformSharding": {
    object (UniformSharding)
  },
  "manualSharding": {
    object (ManualSharding)
  },
  "smartSharding": {
    object (SmartSharding)
  }
  // End of list of possible types for union field option.
}
フィールド

共用体フィールド option

option は次のいずれかになります。

uniformSharding

object (UniformSharding)

シャードの合計数に基づいてテストケースを均一にシャーディングします。

manualSharding

object (ManualSharding)

テストケースを、指定されたパッケージ、クラス、メソッドのグループに分割します。

smartSharding

object (SmartSharding)

以前のテストケースのタイミング レコードに基づいてテストをシャーディングします。

UniformSharding

シャードの合計数に基づいてテストケースを均一にシャーディングします。

インストルメンテーション テストの場合は、「-e numShard」に変換されます。および「-e shardIndex」AndroidJUnitRunner 引数。ユニフォーム シャーディングを有効にすると、これらのシャーディング引数のいずれかを environmentVariables で指定することはできません。

AndroidJUnitRunner が使用するシャーディング メカニズムに基づくと、テストケースがすべてのシャードに均等に分散されるという保証はありません。

JSON 表現
{
  "numShards": integer
}
フィールド
numShards

integer

必須。作成するシャードの合計数。この値は必ず、テストケースの合計数以下の正の数にする必要があります。1 つ以上の物理デバイスを選択する場合、シャードの数は 50 以下にする必要があります。1 つ以上の ARM 仮想デバイスを選択する場合は、200 以下であることが必要です。x86 仮想デバイスのみを選択する場合は、500 以下にする必要があります。

手動シャーディング

テストケースを、指定されたパッケージ、クラス、メソッドのグループに分割します。

手動シャーディングを有効にすると、環境変数または InstrumentationTest でテスト ターゲットを指定することはできません。

JSON 表現
{
  "testTargetsForShard": [
    {
      object (TestTargetsForShard)
    }
  ]
}
フィールド
testTargetsForShard[]

object (TestTargetsForShard)

必須。手動で作成したシャードごとに実行されるパッケージ、クラス、テストメソッドのグループ。このフィールドが存在する場合は、少なくとも 1 つのシャードを指定する必要があります。1 つ以上の物理デバイスを選択する場合、反復する testTargetsForShard の数は 50 以下にする必要があります。1 つ以上の ARM 仮想デバイスを選択する場合は、200 以下であることが必要です。x86 仮想デバイスのみを選択する場合は、500 以下にする必要があります。

TestTargetsForShard

シャードのテスト ターゲット。

JSON 表現
{
  "testTargets": [
    string
  ]
}
フィールド
testTargets[]

string

シャードごとに実行されるパッケージ、クラス、テストメソッドのグループ。ターゲットは AndroidJUnitRunner 引数形式で指定する必要があります。例: package com.my.packages「class com.my.package.MyClass」とします。

testTargets の数には 0 より大きい値を指定してください。

スマートシャーディング

以前のテストケースのタイミング レコードに基づいてテストをシャーディングします。

JSON 表現
{
  "targetedShardDuration": string
}
フィールド
targetedShardDuration

string (Duration format)

シャード内のテストにかかる時間。

デフォルト: 300 秒(5 分)。指定できる最小値: 120 秒(2 分)。

シャードの最大数は、シャードの最大上限(後述)まで時間に基づいて動的に設定されます。シャードごとに少なくとも 1 つのテストケースを保証するには、シャードの数がテストケースの数を超えないようにする必要があります。次の場合、シャードの期間を超過します。

  • シャードの上限に達しており、シャードに割り当てるテスト時間が残っています。
  • 個々のテストは、ターゲットとするシャードの期間よりも長くなると推定されます。

スマート シャーディングではテストケースの履歴とデフォルトの継続時間が使用されるため、シャードの所要時間が正確でない可能性があります。テストケースのタイミング レコードを検索するためのルールは次のとおりです。

  • 過去 30 日間にサービスがテストケースを処理していた場合は、最後に成功したテストケースのレコードが使用されます。
  • 新しいテストケースでは、他の既知のテストケースの平均時間が使用されます。
  • これまでに利用可能なテストケースのタイミング レコードがない場合、テストケースのデフォルトの期間は 15 秒です。

実際のシャードの所要時間はターゲットのシャード時間を超える可能性があるため、テストの最大許容タイムアウト(物理デバイスでは 45 分、仮想デバイスでは 60 分)より少なくとも 5 分短く設定するか、設定したカスタムテストのタイムアウト値を使用することをおすすめします。この方法により、すべてのテストが完了する前にシャードをキャンセルする必要がなくなります。

シャードの最大数には上限があります。1 つ以上の物理デバイスを選択する場合、シャードの数は 50 以下にする必要があります。1 つ以上の ARM 仮想デバイスを選択する場合は、200 以下である必要があります。x86 仮想デバイスのみを選択する場合は、500 以下にする必要があります。シャードごとに少なくとも 1 つのテストケースを保証するには、シャードの数がテストケースの数を超えないようにする必要があります。作成された各シャードは、1 日あたりのテスト割り当てにカウントされます。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

AndroidRoboTest

仮想的または物理的な Android デバイス上でアプリケーションを検査し、実行時のクラッシュとその原因を検出するための Android アプリケーションのテスト。

JSON 表現
{
  "appPackageId": string,
  "appInitialActivity": string,
  "maxDepth": integer,
  "maxSteps": integer,
  "roboDirectives": [
    {
      object (RoboDirective)
    }
  ],
  "roboMode": enum (RoboMode),
  "roboScript": {
    object (FileReference)
  },
  "startingIntents": [
    {
      object (RoboStartingIntent)
    }
  ],

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
フィールド
appPackageId

string

テスト対象のアプリケーションの Java パッケージ。デフォルト値は、アプリケーションのマニフェストを調べることで決まります。

appInitialActivity

string

アプリを起動するために使用する初期アクティビティ。

maxDepth
(deprecated)

integer

Robo が探索できる走査スタックの最大深度。Robo が最初のアクティビティを超えてアプリを探索できるようにするには、少なくとも 2 にする必要があります。デフォルトは 50 です。

maxSteps
(deprecated)

integer

Robo が実行できる最大ステップ数。デフォルトは無制限です。

roboDirectives[]

object (RoboDirective)

Robo がクロール中に適用する一連のディレクティブ。これにより、ユーザーはクロールをカスタマイズできます。たとえば、テスト アカウントのユーザー名とパスワードを入力できます。

roboMode

enum (RoboMode)

Robo を実行するモード。ほとんどのクライアントは、サーバーがこのフィールドを自動的に入力できるようにする必要があります。

roboScript

object (FileReference)

Robo がクロールのプロローグとして実行する一連のアクションを記述した JSON ファイル。

startingIntents[]

object (RoboStartingIntent)

クロール用のアプリを起動するために使用されたインテント。何も指定していない場合、メインのランチャー アクティビティが起動されます。指定したものがある場合、それだけが起動されます(メインのランチャー アクティビティは明示的に指定する必要があります)。

共用体フィールド app_under_test。必須。app_under_test は次のいずれかになります。
appApk

object (FileReference)

テスト対象アプリの APK。

appBundle

object (AppBundle)

テスト対象アプリ用のマルチ APK App Bundle。

RoboDirective

クロール中に特定の UI 要素が検出された場合、Robo に特定の UI 要素と対話するよう指示します。現在、Robo はテキスト入力または要素のクリックを実行できます。

JSON 表現
{
  "resourceName": string,
  "inputText": string,
  "actionType": enum (RoboActionType)
}
フィールド
resourceName

string

必須。対象となる UI 要素の Android リソース名。たとえば、Java の場合は R.string.foo、xml の場合は @string/foo で、"foo" 部分のみが必要です。参考資料: https://developer.android.com/guide/topics/resources/accessing-resources.html

inputText

string

Robo に設定するテキスト。空のままの場合、このディレクティブは resourceName と一致する要素のクリックとして扱われます。

actionType

enum (RoboActionType)

必須。指定された要素に対して Robo が実行する操作の種類。

RoboActionType

Robo が UI 要素に対して実行できるアクション。

列挙型
ACTION_TYPE_UNSPECIFIED 使用しないでください。proto バージョニング専用です。
SINGLE_CLICK 指定された要素をクリックするよう Robo に指示します。指定された要素がクリック可能でない場合、処理は実行されません。
ENTER_TEXT 指定した要素にテキストを入力するよう Robo に指示します。指定された要素が有効になっていないかテキスト入力が可能でない場合、処理は実行されません。
IGNORE 特定の要素とのインタラクションを無視するよう Robo に指示します。

RoboMode

Robo を実行するモード。

列挙型
ROBO_MODE_UNSPECIFIED つまり、サーバーがモードを選択する必要があります。(推奨)。
ROBO_VERSION_1 アプリの再署名なしで UIAutomator 専用モードで Robo を実行
ROBO_VERSION_2 UIAutomator フォールバックを使用して標準 Espresso で Robo を実行

RoboStartingIntent

クロールする開始アクティビティを指定するメッセージ。

JSON 表現
{
  "timeout": string,

  // Union field starting_intent can be only one of the following:
  "launcherActivity": {
    object (LauncherActivityIntent)
  },
  "startActivity": {
    object (StartActivityIntent)
  },
  "noActivity": {
    object (NoActivityIntent)
  }
  // End of list of possible types for union field starting_intent.
}
フィールド
timeout

string (Duration format)

各インテントのタイムアウト(秒)。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

共用体フィールド starting_intent。必須。アクティビティを開始するためのインテントの詳細。starting_intent は次のいずれかになります。
launcherActivity

object (LauncherActivityIntent)

メインのランチャー アクティビティを開始するインテント。

startActivity

object (StartActivityIntent)

特定の詳細情報とともにアクティビティを開始するインテント。

noActivity

object (NoActivityIntent)

開始アクティビティをスキップします

LauncherActivityIntent

この型にはフィールドがありません。

メインのランチャー アクティビティを開始するインテントを指定します。

StartActivityIntent

アクション、uri、カテゴリで指定された開始インテント。

JSON 表現
{
  "action": string,
  "uri": string,
  "categories": [
    string
  ]
}
フィールド
action

string

アクション名。START_ACTIVITY に必要です。

uri

string

アクションの URI。

categories[]

string

インテントに設定するインテントのカテゴリ。

NoActivityIntent

この型にはフィールドがありません。

開始アクティビティをスキップします

AndroidTestLoop

テストループを備えた Android アプリケーション テスト。インテント <intent-name> が暗黙的に追加されます。これは、この API の唯一のユーザーは当面のところ Games であるためです。

JSON 表現
{
  "appPackageId": string,
  "scenarios": [
    integer
  ],
  "scenarioLabels": [
    string
  ],

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
フィールド
appPackageId

string

テスト対象のアプリケーションの Java パッケージ。デフォルトは、アプリケーションのマニフェストを調べることで判断されます。

scenarios[]

integer

テスト中に実行する必要があるシナリオのリスト。デフォルトは、アプリのマニフェストから派生したすべてのテストループです。

scenarioLabels[]

string

テスト中に実行する必要があるシナリオラベルのリスト。シナリオのラベルは、アプリのマニフェストで定義されたラベルにマッピングする必要があります。たとえば、player_experience と com.google.test.loops.player_experience も com.google.test.loops.player_experience という名前でマニフェスト内でラベル付けされているすべてのループを実行コードに追加するコードです。シナリオはシナリオ フィールドで指定することもできます。

共用体フィールド app_under_test。必須。テストする Android パッケージ。app_under_test は次のいずれかになります。
appApk

object (FileReference)

テスト対象アプリの APK。

appBundle

object (AppBundle)

テスト対象アプリ用のマルチ APK App Bundle。

IosXcTest

XCTest フレームワークを使用する iOS アプリケーションのテスト。Xcode は、テスト仕様(引数、テストメソッドなど)を含む .xctestrun ファイルを生成する「テスト用のビルド」オプションをサポートしています。このテストタイプは、.xctestrun ファイルと、Build/Products ディレクトリの対応する内容(テストを実行するために必要なすべてのバイナリを含む)からなる zip ファイルを受け入れます。

JSON 表現
{
  "testsZip": {
    object (FileReference)
  },
  "xctestrun": {
    object (FileReference)
  },
  "xcodeVersion": string,
  "appBundleId": string,
  "testSpecialEntitlements": boolean
}
フィールド
testsZip

object (FileReference)

必須。.xctestrun ファイルと、DerivedData/Build/Products ディレクトリの内容からなる .zip ファイル。xctestrun フィールドが指定されている場合、この zip の .xctestrun ファイルは無視されます。

xctestrun

object (FileReference)

テスト zip 内の .xctestrun ファイルをオーバーライドする .xctestrun ファイル。.xctestrun ファイルには、環境変数や実行または無視するテストメソッドが含まれており、シャーディング テストに役立ちます。デフォルトはテスト zip から取得されます。

xcodeVersion

string

テストに使用する Xcode のバージョン。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。Firebase Test Lab がサポートする最新の Xcode バージョンにデフォルト設定されます。

appBundleId

string

出力専用。テスト対象のアプリケーションのバンドル ID。

testSpecialEntitlements

boolean

特別なアプリの利用資格をテストするオプション。これを設定すると、明示的なアプリケーション ID を使用して特別な利用資格を持つアプリに再署名します。現在、aps-environment 利用資格のテストをサポートしています。

IosTestLoop

1 つ以上のゲームループ シナリオを実装する iOS アプリのテスト。このテストタイプでは、アーカイブされたアプリ(.ipa ファイル)と、アプリで順次実行される整数シナリオのリストを使用できます。

JSON 表現
{
  "appIpa": {
    object (FileReference)
  },
  "scenarios": [
    integer
  ],
  "appBundleId": string
}
フィールド
appIpa

object (FileReference)

必須。テストするアプリケーションの .ipa。

scenarios[]

integer

テスト中に実行する必要があるシナリオのリスト。指定しない場合のデフォルトは、単一のシナリオ 0 です。

appBundleId

string

出力専用。テスト対象のアプリケーションのバンドル ID。

IosRoboTest

iOS デバイスで iOS アプリを調べるテスト。

JSON 表現
{
  "appIpa": {
    object (FileReference)
  },
  "appBundleId": string,
  "roboScript": {
    object (FileReference)
  }
}
フィールド
appIpa

object (FileReference)

必須。このファイルに保存されている IPA を使用してテストを実行する必要があります。

appBundleId

string

テスト対象のアプリのバンドル ID。これを確認するには、アプリケーションの「Info.plist」を表示されます。

roboScript

object (FileReference)

クロールをカスタマイズするための Roboscript(省略可)。Roboscript の詳細については、https://firebase.google.com/docs/test-lab/android/robo-scripts-reference をご覧ください。

EnvironmentMatrix

テストが実行される環境のマトリックス。

JSON 表現
{

  // Union field environment_matrix can be only one of the following:
  "androidMatrix": {
    object (AndroidMatrix)
  },
  "androidDeviceList": {
    object (AndroidDeviceList)
  },
  "iosDeviceList": {
    object (IosDeviceList)
  }
  // End of list of possible types for union field environment_matrix.
}
フィールド
共用体フィールド environment_matrix。必須。環境マトリックス。environment_matrix は次のいずれかになります。
androidMatrix

object (AndroidMatrix)

Android デバイスのマトリックス。

androidDeviceList

object (AndroidDeviceList)

Android デバイスのリストテストは指定したデバイスでのみ実行されます。

iosDeviceList

object (IosDeviceList)

iOS デバイスのリスト。

AndroidMatrix

Android デバイス構成の順列セットは、指定された軸のクロス積によって定義されます。内部的には、所定の AndroidMatrix は AndroidDevices のセットに展開されます。

サポートされている順列のみがインスタンス化されます。無効な順列(たとえば、互換性のないモデル / バージョン)は無視されます。

JSON 表現
{
  "androidModelIds": [
    string
  ],
  "androidVersionIds": [
    string
  ],
  "locales": [
    string
  ],
  "orientations": [
    string
  ]
}
フィールド
androidModelIds[]

string

必須。使用する Android デバイスのセットの ID。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

androidVersionIds[]

string

必須。使用する Android OS バージョンのセットの ID。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

locales[]

string

必須。テストデバイスがテスト用に有効にするロケールのセット。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

orientations[]

string

必須。テストする画面の向きのセット。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

AndroidDeviceList

テストが実行される Android デバイス構成のリスト。

JSON 表現
{
  "androidDevices": [
    {
      object (AndroidDevice)
    }
  ]
}
フィールド
androidDevices[]

object (AndroidDevice)

必須。Android デバイスのリスト。

IosDeviceList

テストが実行される iOS デバイス構成のリスト。

JSON 表現
{
  "iosDevices": [
    {
      object (IosDevice)
    }
  ]
}
フィールド
iosDevices[]

object (IosDevice)

必須。iOS デバイスのリスト。

IosDevice

1 つの iOS デバイス。

JSON 表現
{
  "iosModelId": string,
  "iosVersionId": string,
  "locale": string,
  "orientation": string
}
フィールド
iosModelId

string

必須。使用する iOS デバイスの ID。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

iosVersionId

string

必須。使用する iOS メジャー ソフトウェア バージョンの ID。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

locale

string

必須。テストデバイスでテストに使用されたロケール。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

orientation

string

必須。テスト中のデバイスの向き。サポートされているオプションを取得するには、TestEnvironmentDiscoveryService を使用します。

TestExecution

1 つの環境で実行される 1 つのテスト。

JSON 表現
{
  "id": string,
  "matrixId": string,
  "projectId": string,
  "testSpecification": {
    object (TestSpecification)
  },
  "shard": {
    object (Shard)
  },
  "environment": {
    object (Environment)
  },
  "state": enum (TestState),
  "toolResultsStep": {
    object (ToolResultsStep)
  },
  "timestamp": string,
  "testDetails": {
    object (TestDetails)
  }
}
フィールド
id

string

出力専用。サービスによって設定された一意の ID。

matrixId

string

出力専用。格納先の TestMatrix の ID。

projectId

string

出力専用。テスト実行を所有する Cloud プロジェクト。

testSpecification

object (TestSpecification)

出力専用。テストの実行方法。

shard

object (Shard)

出力専用。シャードの詳細。

environment

object (Environment)

出力専用。ホストマシンの構成方法。

state

enum (TestState)

出力専用。テスト実行の現在の進行状況を示します(FINISHED)。

toolResultsStep

object (ToolResultsStep)

出力専用。この実行の結果が書き込まれる場所。

timestamp

string (Timestamp format)

出力専用。このテスト実行が最初に作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

testDetails

object (TestDetails)

出力専用。実行中のテストに関する追加の詳細。

シャード

出力専用。シャードの詳細。

JSON 表現
{
  "shardIndex": integer,
  "numShards": integer,
  "testTargetsForShard": {
    object (TestTargetsForShard)
  },
  "estimatedShardDuration": string
}
フィールド
shardIndex

integer

出力専用。すべてのシャード内のシャードのインデックス。

numShards

integer

出力専用。シャードの合計数。

testTargetsForShard

object (TestTargetsForShard)

出力専用。各シャードのテスト ターゲット。手動シャーディングの場合にのみ設定されます。

estimatedShardDuration

string (Duration format)

出力専用。以前のテストケースのタイミング レコードに基づくシャードの推定所要時間(利用可能な場合)。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

環境

テストが実行される環境。

JSON 表現
{

  // Union field environment can be only one of the following:
  "androidDevice": {
    object (AndroidDevice)
  },
  "iosDevice": {
    object (IosDevice)
  }
  // End of list of possible types for union field environment.
}
フィールド
共用体フィールド environment。必須。環境。environment は次のいずれかになります。
androidDevice

object (AndroidDevice)

Android テストで使用する必要がある Android デバイス。

iosDevice

object (IosDevice)

iOS テストで使用する必要がある iOS デバイス。

TestState

テスト実行またはマトリックスの状態(すなわち、進行状況)。

列挙型
TEST_STATE_UNSPECIFIED 使用しないでください。proto バージョニング専用です。
VALIDATING 実行またはマトリックスを検証中です。
PENDING 実行またはマトリックスは、リソースが使用可能になるのを待っています。
RUNNING

実行は現在処理中です。

実行時にのみ設定できます。

FINISHED

実行またはマトリックスが正常に終了しました。

マトリックス上では、これはマトリックス レベルの処理が正常に完了したことを意味しますが、個々の実行は ERROR 状態になっている可能性があります。

ERROR インフラストラクチャ障害が発生したため、実行またはマトリックスが停止しました。
UNSUPPORTED_ENVIRONMENT

サポートされていない環境にあたるため、実行は行われませんでした。

実行時にのみ設定できます。

INCOMPATIBLE_ENVIRONMENT

要求された環境と互換性のないデータが入力されたため、実行は行われませんでした。

例: 要求された AndroidVersion が APK の minSdkVersion より低い

実行時にのみ設定できます。

INCOMPATIBLE_ARCHITECTURE

要求されたアーキテクチャと互換性のないデータが入力されたため、実行は行われませんでした。

例: 要求されたデバイスが、提供された APK におけるネイティブ コードの実行をサポートしていない

実行時にのみ設定できます。

CANCELLED

ユーザーが実行をキャンセルしました。

実行時にのみ設定できます。

INVALID

無効なデータが入力されたため、実行またはマトリックスの実装が行われませんでした。

例: 入力ファイルが予想されたタイプではないか、不正な形式であるか破損している、あるいはマルウェアとしてフラグが立てられている

ToolResultsStep

ツール結果ステップのリソースを表します。

これには TestExecution の結果が含められます。

JSON 表現
{
  "projectId": string,
  "historyId": string,
  "executionId": string,
  "stepId": string
}
フィールド
projectId

string

出力専用。ツール結果のステップを所有する Cloud プロジェクト。

historyId

string

出力専用。ツール結果履歴 ID。

executionId

string

出力専用。ツール結果実行 ID。

stepId

string

出力専用。ツール結果のステップ ID。

TestDetails

実行中のテストの進行状況に関する追加の詳細。

JSON 表現
{
  "progressMessages": [
    string
  ],
  "errorMessage": string
}
フィールド
progressMessages[]

string

出力のみ。人間が読める形式で記載された、テストの進行状況に関する詳細説明。たとえば、"Provisioning a device"、"Starting Test" などと記述します。

実行の過程で、新しいデータが progressMessages の最後に追加されることがあります。

errorMessage

string

出力専用。TestState が ERROR の場合、この文字列には人間が判読可能なエラーの詳細が含まれます。

ResultStorage

テストの実行結果が格納される場所。

JSON 表現
{
  "googleCloudStorage": {
    object (GoogleCloudStorage)
  },
  "toolResultsHistory": {
    object (ToolResultsHistory)
  },
  "toolResultsExecution": {
    object (ToolResultsExecution)
  },
  "resultsUrl": string
}
フィールド
googleCloudStorage

object (GoogleCloudStorage)

必須。

toolResultsHistory

object (ToolResultsHistory)

結果が書き込まれるツール結果実行が含まれるツール結果履歴。

指定されていない場合、サービスは適切な値を選択します。

toolResultsExecution

object (ToolResultsExecution)

出力専用。結果が書き込まれるツール結果実行。

resultsUrl

string

出力専用。Firebase ウェブ コンソールの結果への URL。

GoogleCloudStorage

Google Cloud Storage(GCS)内の保存場所。

JSON 表現
{
  "gcsPath": string
}
フィールド
gcsPath

string

必須。このテストの結果が最終的に格納される GCS のディレクトリへのパス。リクエスト元のユーザーには、指定されたパスのバケットに対する書き込みアクセス権が必要です。

ToolResultsHistory

ツール結果履歴リソースを表します。

JSON 表現
{
  "projectId": string,
  "historyId": string
}
フィールド
projectId

string

必須。ツール結果履歴を所有するクラウド プロジェクト。

historyId

string

必須。ツール結果履歴 ID。

ToolResultsExecution

ツール結果実行のリソースを表します。

これには TestMatrix の結果が含められます。

JSON 表現
{
  "projectId": string,
  "historyId": string,
  "executionId": string
}
フィールド
projectId

string

出力専用。ツール結果実行を所有するクラウド プロジェクト。

historyId

string

出力専用。ツール結果履歴 ID。

executionId

string

出力専用。ツール結果実行 ID。

InvalidMatrixDetails

マトリックスが INVALID と見なされた詳細な理由。

列挙型
INVALID_MATRIX_DETAILS_UNSPECIFIED 使用しないでください。proto バージョニング専用です。
DETAILS_UNAVAILABLE マトリックスは INVALID ですが、それ以上の詳細情報はありません。
MALFORMED_APK 入力アプリ APK を解析できませんでした。
MALFORMED_TEST_APK 入力テスト APK を解析できませんでした。
NO_MANIFEST AndroidManifest.xml が見つかりませんでした。
NO_PACKAGE_NAME APK マニフェストはパッケージ名を宣言しません。
INVALID_PACKAGE_NAME APK アプリ ID(パッケージ名)が無効です。https://developer.android.com/studio/build/application-id もご覧ください。
TEST_SAME_AS_APP テスト パッケージとアプリ パッケージは同じです。
NO_INSTRUMENTATION テスト APK はインストゥルメンテーションを宣言しません。
NO_SIGNATURE 入力アプリ APK には署名がありません。
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE ユーザーまたはテスト APK のマニフェスト ファイルが指定するテスト実行クラスは、Android Test Orchestrator と互換性がありません。Orchestrator は、AndroidJUnitRunner バージョン 1.1 以降にのみ互換性があります。DO_NOT_USE_ORCHESTRATOR OrchestratorOption を使用して Orchestrator を無効にできます。
NO_TEST_RUNNER_CLASS

テスト APK に、ユーザーまたはマニフェスト ファイルで指定されたテストランナー クラスが含まれていません。考えられる理由は次のとおりです。

  • 誤ったランナークラス名を指定した場合、または
  • テストランナーがテスト APK に組み込まれていない(代わりにアプリ APK に含まれている可能性がある)。
NO_LAUNCHER_ACTIVITY メイン ランチャー アクティビティが見つかりませんでした。
FORBIDDEN_PERMISSIONS アプリが 1 つ以上の許可されていない権限を宣言しています。
INVALID_ROBO_DIRECTIVES 指定された roboDirectives に競合があります。
INVALID_RESOURCE_NAME 指定された robo ディレクティブに無効なリソース名が 1 つ以上あります
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 圧縮された XCTest の形式が正しくありませんでした。1 つの .xctestrun ファイルと DerivedData/Build/Products ディレクトリの内容が zip に含まれていませんでした。
BUILT_FOR_IOS_SIMULATOR 圧縮された XCTest は、実際のデバイスではなく iOS シミュレータ用に作成されたものです。
NO_TESTS_IN_XC_TEST_ZIP .xctestrun ファイルでテスト ターゲットが指定されていません。
USE_DESTINATION_ARTIFACTS .xctestrun ファイルで定義されている 1 つ以上のテスト ターゲットで、許可されていない「UseDestinationArtifacts」が指定されています。
TEST_NOT_APP_HOSTED 物理デバイス上で動作する XC テストでは、xctestrun ファイルに "IsAppHostedTestBundle" == "true" が設定されている必要があります。
PLIST_CANNOT_BE_PARSED XCTest zip 内の Info.plist ファイルを解析できませんでした。
TEST_ONLY_APK

APK は "testOnly" とマークされています。非推奨のため、現在は使用されていません。

MALFORMED_IPA 入力 IPA を解析できませんでした。
MISSING_URL_SCHEME アプリにゲームループ URL スキームが登録されていない。
MALFORMED_APP_BUNDLE iOS アプリケーション バンドル(.app)を処理できませんでした。
NO_CODE_APK APK にはコードは含まれていません。https://developer.android.com/guide/topics/manifest/application-element.html#code もご覧ください
INVALID_INPUT_APK 指定された入力 APK パスの形式が正しくないか、APK ファイルが存在しないか、ユーザーに APK ファイルへのアクセス権がありません。
INVALID_APK_PREVIEW_SDK APK は、サポートされていないプレビュー SDK 用に作成されています。
MATRIX_TOO_LARGE マトリックスが展開され、実行の数が多すぎます。
TEST_QUOTA_EXCEEDED このマトリックスの実行を実行するための十分なテスト割り当てがありません。
SERVICE_NOT_ACTIVATED 必要なクラウド サービス API が有効になっていません。https://firebase.google.com/docs/test-lab/android/continuous#requirements をご覧ください。
UNKNOWN_PERMISSION_ERROR このテストの実行中に、権限に関する不明な問題が発生しました。

MatrixErrorDetail

マトリックスに関する単一のエラーまたは問題を表します。

JSON 表現
{
  "reason": string,
  "message": string
}
フィールド
reason

string

出力専用。エラーの理由。これは、エラーの原因を識別する UPPER_SNAKE_CASE の定数値です。

message

string

出力専用。TestMatrix のエラーに関する、人が読める形式のメッセージ。reason フィールドが展開され、詳細情報と、問題を解決するための選択肢が表示されます。

結果の概要

完了したテスト マトリックスの結果の概要。

列挙型
OUTCOME_SUMMARY_UNSPECIFIED 使用しないでください。proto バージョニング専用です。
SUCCESS

テスト マトリックスの実行が成功しました。次に例を示します。

  • すべてのテストケースに合格しています。
  • Robo はテスト対象のアプリケーションのクラッシュを検出しませんでした。
FAILURE

実行が失敗しました。例:

  • 1 つ以上のテストケースが失敗しました。
  • テストがタイムアウトしました。
  • テスト対象のアプリケーションがクラッシュした。
INCONCLUSIVE 予期しないエラーが発生しました。それでも実行は失敗とみなされますが、これは一時的な問題である可能性が高く、テストの再実行は成功する可能性があります。
SKIPPED

すべてのテストがスキップされました。次に例を示します。

  • すべてのデバイス設定に互換性がありませんでした。

メソッド

cancel

テスト マトリックス内の未完了のテスト実行をキャンセルします。

create

指定された仕様に従ってテストのマトリックスを作成して実行します。

get

テスト マトリックスのステータスと作成済みの実行を確認します。