REST Resource: projects.histories.executions

リソース: Execution

Execution はステップのコレクションを表します。- さまざまなデバイス構成で実行されるモバイルテスト - ビルドステップの後にテストステップが続く jenkins ジョブ

実行メッセージの最大サイズは 1 MiB です。

Execution は、状態が COMPLETE に切り替わると更新が不変になります。

JSON 表現
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
フィールド
executionId

string

この実行の履歴内の一意の識別子。

このフィールドが呼び出し元によって設定または上書きされた場合、INVALID_ARGUMENT を返します。

  • [In Response] は常に設定されます
  • 作成/更新リクエスト内: 設定なし
state

enum (State)

初期状態は IN_PROGRESS です。

正式な状態は、IN_PROGRESS から COMPLETE に移行するだけです。

無効な遷移がリクエストされた場合、PRECONDITION_FAILED が返されます。

状態を COMPLETE に設定できるのは 1 回だけです。状態が COMPLETE に複数回設定されると、FAILED_PRECONDITION が返されます。

状態が COMPLETE に設定されると、実行中のすべてのステップが COMPLETE に設定されます。ステップの結果が設定されていない場合、結果は「INCONCLUSIVE」に設定されます。

  • [In Response] は常に設定されます
  • 作成/更新リクエストの場合: 省略可
creationTime

object (Timestamp)

実行が作成された時刻。

この値は、executions.create が呼び出されたときに自動的に設定されます。

  • レスポンス: 常に設定
  • 作成/更新リクエスト内: 設定なし
completionTime

object (Timestamp)

実行ステータスが COMPLETE に移行した時刻。

この値は、状態が COMPLETE に移行したときに自動的に設定されます。

  • レスポンス: 実行状態が COMPLETE の場合に設定されます。
  • 作成/更新リクエスト内: 設定なし
outcome

object (Outcome)

結果を SUCCESS や FAILURE などに分類する

  • レスポンス: 作成/更新リクエストで設定されている場合は存在
  • 作成/更新リクエストの場合: 省略可
dimensionDefinitions[]

object (MatrixDimensionDefinition)

この実行の各ステップのディメンションは異なる場合があります。これは、実行が終了するまで固定する必要があります。

このフィールドが更新リクエストで設定されている場合、INVALID_ARGUMENT を返します。

複数の dimension_definition で同じ名前が使用されている場合、INVALID_ARGUMENT を返します。

リストのサイズが 100 を超える場合、INVALID_ARGUMENT を返します。

  • レスポンス: create によって設定された場合は存在
  • 作成リクエスト内: 省略可
  • 更新リクエスト内: 設定なし
specification

object (Specification)

実行リクエストに関する軽量な情報。

  • レスポンス: create によって設定された場合は存在
  • 作成時: 省略可
  • 更新中: 省略可
testExecutionMatrixId

string

TestExecutionService が使用する TestExecution マトリックス ID。

  • レスポンス: create によって設定された場合は存在
  • 作成時: 省略可
  • 更新時: 設定なし

MatrixDimension 定義

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

ステップのさまざまな実行を表す行列の 1 次元。

仕様

実行方法の詳細。

JSON 表現
{

  // Union field specification can be only one of the following:
  "androidTest": {
    object (AndroidTest)
  },
  "iosTest": {
    object (IosTest)
  }
  // End of list of possible types for union field specification.
}
フィールド

共用体フィールド specification

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

androidTest

object (AndroidTest)

Android モバイルテスト実行の仕様。

iosTest

object (IosTest)

iOS モバイルテスト実行の仕様。

AndroidTest

Android モバイルテストの仕様。

JSON 表現
{
  "androidAppInfo": {
    object (AndroidAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  }
  // End of list of possible types for union field test.
}
フィールド
androidAppInfo

object (AndroidAppInfo)

テスト対象のアプリケーションに関する情報。

testTimeout

object (Duration)

自動的にキャンセルされるまでテストを実行できる最大時間。

共用体フィールド test

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

androidInstrumentationTest

object (AndroidInstrumentationTest)

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

androidRoboTest

object (AndroidRoboTest)

Android の robo テスト。

androidTestLoop

object (AndroidTestLoop)

Android テストループ。

AndroidAppInfo

Android アプリの情報。

JSON 表現
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
フィールド
name

string

アプリの名前。任意

packageName

string

アプリのパッケージ名。必須です。

versionName

string

アプリのバージョン名。省略可。

versionCode

string

アプリの内部バージョン コード。省略可。

AndroidInstrumentationTest

通常のライフサイクルとは独立して Android コンポーネントを制御できる Android アプリのテスト。

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

JSON 表現
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
フィールド
testPackageId

string

実行されるテストの Java パッケージ。必須

testRunnerClass

string

InstrumentationTestRunner クラス。必須

testTargets[]

string

各ターゲットは、パッケージ名またはクラス名で完全修飾する必要があります。形式は「package packageName」です。- "class packageName.class_name"- "class packageName.class_name#methodName"

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

useOrchestrator

boolean

このフラグは、テストの実行に Android Test Orchestrator を使用するかどうかを示します。

AndroidRoboTest

Android アプリのテスト。仮想または物理的な Android デバイスでアプリを調べ、実行時のクラッシュとクラッシュを見つけます。

JSON 表現
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
フィールド
appInitialActivity

string

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

bootstrapPackageId

string

ブートストラップ用の Java パッケージ。省略可

bootstrapRunnerClass

string

ブートストラップのランナークラス。省略可

maxDepth

integer

Robo が探索できる走査スタックの最大深度。省略可

maxSteps

integer

Robo が実行できるステップ/アクションの最大数。デフォルトは制限なし(0)です。省略可

AndroidTestLoop

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

テストループは、アプリ自体から開始できるテストであり、インテントをリッスンして実行するタイミングを決定します。

iOSTest

iOS モバイルテストの仕様

JSON 表現
{
  "iosAppInfo": {
    object (IosAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
フィールド
iosAppInfo

object (IosAppInfo)

テスト対象のアプリケーションに関する情報。

testTimeout

object (Duration)

自動的にキャンセルされるまでテストを実行できる最大時間。

共用体フィールド test

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

iosXcTest

object (IosXcTest)

iOS XCTest。

iosTestLoop

object (IosTestLoop)

iOS のテストループ。

iosRoboTest

object (IosRoboTest)

iOS Robo テスト。

iOS AppInfo

iOS アプリの情報

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

string

アプリの名前。必須

IosXcTest

XCTest フレームワークを使用する iOS アプリのテスト。

JSON 表現
{
  "bundleId": string,
  "xcodeVersion": string
}
フィールド
bundleId

string

アプリのバンドル ID。

xcodeVersion

string

テストを実行した Xcode のバージョン。

IosTestLoop

iOS アプリのゲームループ テスト。

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

string

アプリのバンドル ID。

IosRoboTest

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

iOS アプリの Robo テスト。

メソッド

create

実行を作成します。

get

実行を取得します。

list

指定された履歴の実行を一覧表示します。

patch

指定された部分エンティティで既存の実行を更新します。