REST Resource: projects.testMatrices

リソース: テストマトリックス

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),
  "flakyTestAttempts": integer,
  "outcomeSummary": enum (OutcomeSummary),
  "failFast": boolean
}
田畑
testMatrixId

string

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

projectId

string

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

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 状態の行列にのみ有効です。

flakyTestAttempts

integer

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

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

outcomeSummary

enum ( OutcomeSummary )

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

failFast

boolean

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

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

この機能は、遅延の影響を受けやすいワークロード向けです。実行失敗の発生率はフェイルファスト マトリックスの場合に大幅に高くなる可能性があり、そのことが予想されるためサポートはより制限されます。

クライアント情報

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

JSON表現
{
  "name": string,
  "clientInfoDetails": [
    {
      object (ClientInfoDetail)
    }
  ]
}
田畑
name

string

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

clientInfoDetails[]

object ( ClientInfoDetail )

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

クライアント情報詳細

テストを呼び出したクライアントに関する詳細情報のキーと値のペア。例: {'バージョン'、'1.0'}、{'リリース トラック'、'ベータ'}。

JSON表現
{
  "key": string,
  "value": string
}
田畑
key

string

必須。詳細な顧客情報のキー。

value

string

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

テスト仕様

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

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)
  }
  // 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次のいずれか 1 つだけです。
testSetup

object ( TestSetup )

Android のセットアップ要件 (インストールするファイル、ブートストラップ スクリプトなど) をテストします。

iosTestSetup

object ( IosTestSetup )

iOS のテスト設定要件。

ユニオンフィールドtest 。必須。実行するテストのタイプ。 test次のいずれか 1 つだけです。
androidInstrumentationTest

object ( AndroidInstrumentationTest )

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

androidRoboTest

object ( AndroidRoboTest )

Androidのロボテストです。

androidTestLoop

object ( AndroidTestLoop )

テストループを備えた Android アプリケーション。

iosXcTest

object ( IosXcTest )

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

iosTestLoop

object ( IosTestLoop )

テストループを備えた iOS アプリケーション。

テスト設定

テストを実行する前に Android デバイスをセットアップする方法の説明。

JSON表現
{
  "filesToPush": [
    {
      object (DeviceFile)
    }
  ],
  "directoriesToPull": [
    string
  ],
  "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 ~ AZ 0 ~ 9 _ - に制限されます。 + と /

注: パス /sdcard および /data が使用可能になり、暗黙的なパス置換として扱われます。たとえば、特定のデバイス上の /sdcard が外部ストレージにマップされていない場合、システムはそれをそのデバイスの外部ストレージ パスのプレフィックスに置き換えます。

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

アプリのインストール時にすべてのランタイム権限が付与されないようにするかどうか

デバイスファイル

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

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次のいずれか 1 つだけです。
obbFile

object ( ObbFile )

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

regularFile

object ( RegularFile )

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

オブジェクトファイル

テストの開始前にデバイスにインストールする不透明なバイナリ 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) ファイル。

ファイル参照

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

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次のいずれか 1 つだけです。
gcsPath

string

Google Cloud Storage 内のファイルへのパス。例: gs://build-app-1414623860166/app%40debug-unaligned.apkこれらのパスは URL エンコード (パーセント エンコード) されることが想定されています

通常ファイル

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

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 が外部ストレージにマップされていない場合、システムはそれをそのデバイスの外部ストレージ パスのプレフィックスに置き換えて、そこにファイルをコピーします。

アプリで環境 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次のいずれか 1 つだけです。
googleAuto

object ( GoogleAuto )

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

GoogleAuto

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

環境変数

環境変数としてテストに渡されるキーと値のペア。

JSON表現
{
  "key": string,
  "value": string
}
田畑
key

string

環境変数のキー。

value

string

環境変数の値。

Systraceセットアップ

JSON表現
{
  "durationSeconds": integer
}
田畑
durationSeconds
(deprecated)

integer

Systrace の継続時間 (秒単位)。 1 ~ 30 秒にする必要があります。 0 は systrace を無効にします。

Iosテストセットアップ

テストを実行する前に 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 など) 内にあるか、バンドル ID を指定してアプリのファイル システム内のアクセス可能なディレクトリ (/Documents など) 内にある必要があります。

Iosデバイスファイル

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

JSON表現
{
  "content": {
    object (FileReference)
  },
  "bundleId": string,
  "devicePath": string
}
田畑
content

object ( FileReference )

ソースファイル

bundleId

string

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

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

devicePath

string

アプリのサンドボックス ファイル システム内の、デバイス上のファイルの場所

Android計測テスト

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

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

  • 「パッケージ パッケージ名」
  • "クラス パッケージ名.クラス名"
  • 「クラスパッケージ名.クラス名#メソッド名」

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

orchestratorOption

enum ( OrchestratorOption )

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

  • 共有状態なし
  • クラッシュは分離される
  • ログはテストごとにスコープが定められています

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

設定しない場合、テストはオーケストレーターなしで実行されます。

shardingOption

object ( ShardingOption )

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

ユニオンフィールドapp_under_test 。必須。 app_under_test次のいずれか 1 つだけです。
appApk

object ( FileReference )

テスト対象のアプリケーションの APK。

appBundle

object ( AppBundle )

テスト対象のアプリケーションのマルチ APK アプリ バンドル。

アプリバンドル

BundleConfig.pb ファイル、ベース モジュール ディレクトリ、0 個以上の動的機能モジュール ディレクトリを含む Android アプリ バンドル ファイル形式。

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次のいずれか 1 つだけです。
bundleLocation

object ( FileReference )

テスト対象のアプリ バンドルを表す .aab ファイル。

オーケストレーターオプション

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

列挙型
ORCHESTRATOR_OPTION_UNSPECIFIEDデフォルト値: サーバーがモードを選択します。現時点では、テストがオーケストレーターなしで実行されることを意味します。将来的には、すべてのインストルメンテーション テストがオーケストレーターを使用して実行されるようになります。オーケストレーターにはさまざまなメリットがあるため、オーケストレーターの使用を強くお勧めします。
USE_ORCHESTRATORオーケストレーターを使用してテストを実行します。 ** AndroidJUnitRunner バージョン 1.1 以降とのみ互換性があります。 ** 推奨。
DO_NOT_USE_ORCHESTRATORオーケストレーターを使用せずにテストを実行します。

シャーディングオプション

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

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次のいずれか 1 つだけです。

uniformSharding

object ( UniformSharding )

シャードの総数を指定してテスト ケースを均一にシャードします。

manualSharding

object ( ManualSharding )

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

smartSharding

object ( SmartSharding )

以前のテスト ケースのタイミング記録に基づいてシャード テストを行います。

ユニフォームシャーディング

シャードの総数を指定してテスト ケースを均一にシャードします。

インストルメンテーション テストの場合、これは AndroidJUnitRunner 引数「-e numShard」および「-e shardIndex」に変換されます。均一シャーディングが有効な場合、 environmentVariablesを介してこれらのシャーディング引数のいずれかを指定することは無効です。

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

JSON表現
{
  "numShards": integer
}
田畑
numShards

integer

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

手動シャーディング

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

手動シャーディングが有効になっている場合、environmentVariables または InstrumentationTest でのテスト ターゲットの指定は無効です。

JSON表現
{
  "testTargetsForShard": [
    {
      object (TestTargetsForShard)
    }
  ]
}
田畑
testTargetsForShard[]

object ( TestTargetsForShard )

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

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

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

JSON表現
{
  "testTargets": [
    string
  ]
}
田畑
testTargets[]

string

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

testTarget の数は 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 つのテスト ケースを保証するために、シャードの数がテスト ケースの数を超えることはありません。作成された各シャードは、毎日のテスト割り当てにカウントされます。

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 が最初のアクティビティを超えてアプリを探索するには、少なくとも 2 である必要があります。デフォルトは50です。

maxSteps
(deprecated)

integer

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

roboDirectives[]

object ( RoboDirective )

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

roboMode

enum ( RoboMode )

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

roboScript

object ( FileReference )

Robo がクロールのプロローグとして実行する必要がある一連のアクションを含む JSON ファイル。

startingIntents[]

object ( RoboStartingIntent )

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

ユニオンフィールドapp_under_test 。必須。 app_under_test次のいずれか 1 つだけです。
appApk

object ( FileReference )

テスト対象のアプリケーションの APK。

appBundle

object ( AppBundle )

テスト対象のアプリケーションのマルチ APK アプリ バンドル。

ロボディレクティブ

クロール中に特定の UI 要素が見つかった場合、それと対話するように Robo に指示します。現在、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

ロボに設定するように指示されるテキスト。空のままにした場合、ディレクティブは resourceName に一致する要素の CLICK として扱われます。

actionType

enum ( RoboActionType )

必須。 Robo が指定された要素に対して実行するアクションのタイプ。

ロボアクションタイプ

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

列挙型
ACTION_TYPE_UNSPECIFIED使ってはいけません。プロトバージョン管理のみ。
SINGLE_CLICK Robo に指定された要素をクリックするよう指示します。指定された要素をクリックできない場合は何もしません。
ENTER_TEXT指定された要素にテキストを入力するように Robo に指示します。指定された要素が有効でない場合、またはテキスト入力が許可されていない場合は、何も行われません。
IGNORE Robo に特定の要素との相互作用を無視するように指示します。

ロボモード

ロボが実行するモード。

列挙型
ROBO_MODE_UNSPECIFIEDこれは、サーバーがモードを選択する必要があることを意味します。推奨。
ROBO_VERSION_1アプリを再起動せずに UIAutomator 専用モードで Robo を実行します
ROBO_VERSION_2 UIAutomator フォールバックを使用して標準の Espresso で Robo を実行します

ロボ開始意図

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

JSON表現
{
  "timeout": string,

  // Union field starting_intent can be only one of the following:
  "launcherActivity": {
    object (LauncherActivityIntent)
  },
  "startActivity": {
    object (StartActivityIntent)
  }
  // End of list of possible types for union field starting_intent.
}
田畑
timeout

string ( Duration format)

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

s 」で終わる最大 9 桁の小数点以下の秒単位の期間。例: "3.5s"

ユニオンフィールドstarting_intent 。必須。アクティビティを開始するためのインテントの詳細。 starting_intent次のいずれか 1 つだけです。
launcherActivity

object ( LauncherActivityIntent )

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

startActivity

object ( StartActivityIntent )

特定の詳細を含むアクティビティを開始するインテント。

ランチャーアクティビティ意図

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

StartActivityIntent

アクション、URI、カテゴリによって指定される開始インテント。

JSON表現
{
  "action": string,
  "uri": string,
  "categories": [
    string
  ]
}
田畑
action

string

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

uri

string

アクションの URI。

categories[]

string

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

AndroidTestLoop

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

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次のいずれか 1 つだけです。
appApk

object ( FileReference )

テスト対象のアプリケーションの APK。

appBundle

object ( AppBundle )

テスト対象のアプリケーションのマルチ APK アプリ バンドル。

IosXcテスト

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

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

Iosテストループ

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

JSON表現
{
  "appIpa": {
    object (FileReference)
  },
  "scenarios": [
    integer
  ],
  "appBundleId": string
}
田畑
appIpa

object ( FileReference )

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

scenarios[]

integer

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

appBundleId

string

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

環境マトリックス

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

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次のいずれか 1 つだけです。
androidMatrix

object ( AndroidMatrix )

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

androidDeviceList

object ( AndroidDeviceList )

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

iosDeviceList

object ( IosDeviceList )

iOS デバイスのリスト。

Androidマトリックス

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 を使用して、サポートされているオプションを取得します。

Androidデバイスリスト

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

JSON表現
{
  "androidDevices": [
    {
      object (AndroidDevice)
    }
  ]
}
田畑
androidDevices[]

object ( AndroidDevice )

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

Androidデバイス

単一の Android デバイス。

JSON表現
{
  "androidModelId": string,
  "androidVersionId": string,
  "locale": string,
  "orientation": string
}
田畑
androidModelId

string

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

androidVersionId

string

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

locale

string

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

orientation

string

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

Iosデバイスリスト

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

JSON表現
{
  "iosDevices": [
    {
      object (IosDevice)
    }
  ]
}
田畑
iosDevices[]

object ( IosDevice )

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

Iosデバイス

単一の 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 を使用して、サポートされているオプションを取得します。

テスト実行

単一のテストは単一の環境で実行されます。

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

出力のみ。テスト実行を所有するクラウド プロジェクト。

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次のいずれか 1 つだけです。
androidDevice

object ( AndroidDevice )

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

iosDevice

object ( IosDevice )

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

テスト状態

テスト実行またはマトリックスの状態 (つまり、進行状況)。

列挙型
TEST_STATE_UNSPECIFIED使ってはいけません。プロトバージョン管理のみ。
VALIDATING実行またはマトリックスが検証中です。
PENDING実行またはマトリックスは、リソースが使用可能になるのを待っています。
RUNNING

実行は現在処理中です。

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

FINISHED

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

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

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

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

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

INCOMPATIBLE_ENVIRONMENT

提供された入力が要求された環境と互換性がないため、実行は実行されませんでした。

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

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

INCOMPATIBLE_ARCHITECTURE

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

例: 要求されたデバイスは、提供された APK のネイティブ コードの実行をサポートしていません

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

CANCELLED

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

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

INVALID

指定された入力が無効であるため、実行またはマトリックスは実行されませんでした。

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

ツール結果ステップ

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

これには TestExecution の結果が含まれています。

JSON表現
{
  "projectId": string,
  "historyId": string,
  "executionId": string,
  "stepId": string
}
田畑
projectId

string

出力のみ。ツール結果ステップを所有するクラウド プロジェクト。

historyId

string

出力のみ。ツール結果履歴 ID。

executionId

string

出力のみ。ツール結果の実行 ID。

stepId

string

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

テストの詳細

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

JSON表現
{
  "progressMessages": [
    string
  ],
  "errorMessage": string
}
田畑
progressMessages[]

string

出力のみ。人間が判読できる、テストの進行状況に関する詳細な説明。例: 「デバイスのプロビジョニング」、「テストの開始」。

実行中に、新しいデータが progressMessage の末尾に追加される場合があります。

errorMessage

string

出力のみ。 TestState が ERROR の場合、この文字列には人間が判読できるエラーの詳細が含まれます。

結果ストレージ

テストの実行結果が保存される場所。

JSON表現
{
  "googleCloudStorage": {
    object (GoogleCloudStorage)
  },
  "toolResultsHistory": {
    object (ToolResultsHistory)
  },
  "toolResultsExecution": {
    object (ToolResultsExecution)
  },
  "resultsUrl": string
}
田畑
googleCloudStorage

object ( GoogleCloudStorage )

必須。

toolResultsHistory

object ( ToolResultsHistory )

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

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

toolResultsExecution

object ( ToolResultsExecution )

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

resultsUrl

string

出力のみ。 Firebase Web コンソールの結果への URL。

Googleクラウドストレージ

Google クラウド ストレージ (GCS) 内の保存場所。

JSON表現
{
  "gcsPath": string
}
田畑
gcsPath

string

必須。最終的にこのテストの結果が含まれる GCS 内のディレクトリへのパス。要求元のユーザーは、指定されたパスのバケットに対する書き込みアクセス権を持っている必要があります。

ツール結果履歴

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

JSON表現
{
  "projectId": string,
  "historyId": string
}
田畑
projectId

string

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

historyId

string

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

ツール結果実行

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

これには TestMatrix の結果が含まれています。

JSON表現
{
  "projectId": string,
  "historyId": string,
  "executionId": string
}
田畑
projectId

string

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

historyId

string

出力のみ。ツール結果履歴 ID。

executionId

string

出力のみ。ツール結果の実行 ID。

無効なマトリックスの詳細

マトリックスが無効であるとみなされた詳細な理由。

列挙型
INVALID_MATRIX_DETAILS_UNSPECIFIED使ってはいけません。プロトバージョン管理のみ。
DETAILS_UNAVAILABLEマトリックスは無効ですが、これ以上の詳細はありません。
MALFORMED_APK入力されたアプリ APK を解析できませんでした。
MALFORMED_TEST_APK入力されたテスト APK を解析できませんでした。
NO_MANIFEST AndroidManifest.xml が見つかりませんでした。
NO_PACKAGE_NAME APK マニフェストではパッケージ名が宣言されていません。
INVALID_PACKAGE_NAME APK アプリケーション ID (別名パッケージ名) が無効です。 https://developer.android.com/build/configure-app-module#set-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 を使用して無効にできます。
NO_TEST_RUNNER_CLASS

テスト APK には、ユーザーまたはマニフェスト ファイルで指定されたテスト ランナー クラスが含まれていません。これは、次のいずれかの理由が原因である可能性があります。

  • ユーザーが間違ったランナー クラス名を指定した、または
  • テスト ランナーはテスト APK に組み込まれていません (代わりにアプリ APK に組み込まれている可能性があります)。
NO_LAUNCHER_ACTIVITYメインのランチャー アクティビティが見つかりませんでした。
FORBIDDEN_PERMISSIONSアプリは、許可されていない 1 つ以上の権限を宣言しています。
INVALID_ROBO_DIRECTIVES提供された roboDirective に競合があります。
INVALID_RESOURCE_NAME提供された robo ディレクティブに無効なリソース名が少なくとも 1 つあります
INVALID_DIRECTIVE_ACTION robo ディレクティブ内のアクションの定義が無効です (例: クリックまたは無視アクションには入力テキスト フィールドが含まれます)
TEST_LOOP_INTENT_FILTER_NOT_FOUNDテスト ループ インテント フィルターが存在しないか、指定されたフィルターの形式が正しくありません。
SCENARIO_LABEL_NOT_DECLAREDリクエストには、マニフェストで宣言されていないシナリオ ラベルが含まれています。
SCENARIO_LABEL_MALFORMEDラベルの値を解析中にエラーが発生しました。
SCENARIO_NOT_DECLAREDリクエストには、マニフェストで宣言されていないシナリオ番号が含まれています。
DEVICE_ADMIN_RECEIVERデバイス管理者アプリケーションは許可されません。
MALFORMED_XC_TEST_ZIP zip 圧縮された XCTest の形式が正しくありませんでした。この zip には、単一の .xctestrun ファイルと DerivedData/Build/Products ディレクトリの内容が含まれていませんでした。
BUILT_FOR_IOS_SIMULATOR zip 圧縮された 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このテストを実行中に不明な権限の問題がありました。

結果の概要

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

列挙型
OUTCOME_SUMMARY_UNSPECIFIED使ってはいけません。プロトバージョン管理のみ。
SUCCESS

テスト マトリックスの実行は成功しました。たとえば、次のようになります。

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

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

  • 1 つ以上のテスト ケースが失敗しました。
  • テストがタイムアウトになりました。
  • テスト中のアプリケーションがクラッシュしました。
INCONCLUSIVE予期せぬことが起こりました。実行は依然として失敗したとみなされますが、これは一時的な問題である可能性が高く、テストを再実行すると成功する可能性があります。
SKIPPED

すべてのテストがスキップされました。たとえば、次のとおりです。

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

メソッド

cancel

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

create

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

get

テスト マトリックスのステータスと作成後の実行をチェックします。