- リソース: Step
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- TestExecutionStep
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ToolExecution
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ToolExitCode
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- TestIssue
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- すべて
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 重大度
- 型
- カテゴリ
- TestTiming
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ToolExecutionStep
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- マルチステップ
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- メインの手順
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 個別の成果
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- メソッド
リソース: Step
Step は、実行の一部として実行される単一の操作を表します。ステップは、ツールの実行(テストランナーの実行、コンパイラの実行など)を表すために使用できます。
ステップは重複する場合があります(たとえば、一部のオペレーションが並行して実行される場合、2 つのステップの開始時刻が同じ場合があります)。
たとえば、イテレーションごとにテストランナーを実行する連続ビルドがあるとします。ワークフローは次のようになります。- ユーザーが ID 1 の実行を作成 - ユーザーが実行の ID 100 で TestExecutionStep を作成 1 - 未加工の XML ログを追加するためにユーザーが ID 100 の TestExecutionStep を更新し、サービスが XML ログを解析して、更新された TestResult(s) を含む TestExecutionStep を返します。- ユーザーが ID 100 の TestExecutionStep のステータスを COMPLETE に更新します。
Step は、状態が COMPLETE に切り替わるまで更新できます。この状態になると不変になります。
JSON 表現 |
---|
{ "stepId": string, "creationTime": { object ( |
フィールド | |
---|---|
stepId |
このステップの実行内の一意の識別子。 このフィールドが呼び出し元によって設定または上書きされた場合、INVALID_ARGUMENT を返します。
|
creationTime |
ステップが作成された時刻。
|
completionTime |
ステップのステータスが完了に設定された時刻。 この値は、状態が COMPLETE に移行したときに自動的に設定されます。
|
name |
UI に表示される、人が読める短い名前。最大半角 100 文字(全角 50 文字)。例: クリーンビルド 新しいステップが既存のステップと名前および分割値を共有している場合、新しいステップの作成時に PRECONDITION_FAILED が返されます。2 つのステップが同様のアクションを表し、ディメンション値が異なる場合は、同じ名前を使用する必要があります。たとえば、同じテストセットを 2 つの異なるプラットフォームで実行する場合、2 つのステップは同じ名前にする必要があります。
|
description |
このツールの説明(例: mvn clean package -D SkiTests=true)
|
state |
初期状態は IN_PROGRESS です。正式な状態の移行は * IN_PROGRESS -> のみです。完了 無効な遷移がリクエストされた場合、PRECONDITION_FAILED が返されます。 状態を COMPLETE に設定して Step を作成できます。状態を COMPLETE に設定できるのは 1 回だけです。状態が COMPLETE に複数回設定されると、PRECONDITION_FAILED が返されます。
|
outcome |
結果の分類(成功、失敗など)
|
hasImages |
このステップの出力のいずれかが、Thumbnails.list でサムネイルを取得できる画像であるかどうかです。
|
labels |
ステップに関連付けられた任意のユーザー指定の Key-Value ペア。 鍵が誤って競合しないように、ユーザーの責任で鍵の名前空間を管理する必要があります。 ラベルの数が 100 を超える場合、またはキーまたは値のいずれかの長さが 100 文字を超える場合、INVALID_ARGUMENT が返されます。
|
dimensionValue |
このステップを含む実行に dimension_definition 要素のいずれかが設定されている場合、このフィールドで子はディメンションの値を指定できます。 キーは、実行の dimension_definition と完全に一致する必要があります。 たとえば、実行に ステップが行列の 1 つの次元に関与しない場合、その次元の値は空の文字列になります。たとえば、テストの 1 つが再試行をサポートしていないランナーによって実行される場合、ステップに ステップがマトリックスのどの次元にも関与しない場合は、dimensionValue を未設定のままにできます。 実行の dimension_definition にキーが存在しない場合は、PRECONDITION_FAILED が返されます。 PRECONDITION_FAILED は、この実行の別のステップがすでに同じ name と dimensionValue を持つものの、他のデータ フィールドでは異なる場合(ステップ フィールドが異なる場合など)に返されます。 dingValue が設定されていて、キーとして指定されていないディメンション_definition が実行に含まれていた場合、PRECONDITION_FAILED が返されます。
|
runDuration |
このステップの実行にかかった時間。 設定しない場合、ステップが COMPLETE 状態に設定されている場合の createTime と CompleteTime の差に設定されます。場合によっては、この値を個別に設定することをおすすめします。たとえば、あるステップが作成されても、そのステップが表すオペレーションが実行前に数分間キューに入れられている場合、その runDuration にキューに入れられた時間を含めないようにするのが適切です。 このフィールドがすでに設定されているステップで runDuration を設定しようとすると、PRECONDITION_FAILED が返されます。
|
deviceUsageDuration |
テストの実施に使用されるデバイス リソースの量。 請求目的で使用されるデバイスの使用量です。runDuration とは異なります。たとえば、インフラストラクチャの障害については、デバイスの使用料は請求されません。 このフィールドがすでに設定されているステップで device_usage を設定しようとすると、PRECONDITION_FAILED が返されます。
|
multiStep |
グループと同じ構成で複数のステップが実行される場合の詳細。これらの詳細情報を使用して、このステップがどのグループに属しているかを特定できます。また、このグループの「プライマリ ステップ」すべてのグループ メンバーがインデックスに登録されます。
|
共用体フィールド
|
|
testExecutionStep |
テストランナーの実行。 |
toolExecutionStep |
ツールの実行(明示的にサポートしていないステップに使用)。 |
TestExecutionStep
テストの実行を表すステップ。
このサービスは、ant-junit xml ファイルを受け入れ、解析して構造化されたテスト結果を生成します。ファイルを追加するために XML ファイルのパスが更新されますが、削除はできません。
test_result フィールドを使用して、テスト結果を手動で追加することもできます。
JSON 表現 |
---|
{ "testSuiteOverviews": [ { object ( |
フィールド | |
---|---|
testSuiteOverviews[] |
テストスイートの概要コンテンツのリスト。これは、サーバーによって xUnit XML ログから解析することも、ユーザーが直接アップロードすることもできます。この参照は、テストスイートが完全に解析されるか、アップロードされた場合にのみ呼び出す必要があります。 ステップあたりのテストスイート概要の最大数は 1,000 です。
|
toolExecution |
テストランナーの実行を表します。 このツールの終了コードは、テストに合格したかどうかを判断するために使用されます。
|
testIssues[] |
テスト実行中に確認された問題。 たとえば、テスト中にテスト対象のモバイルアプリがクラッシュした場合、デバッグに役立つエラー メッセージやスタック トレースの内容をここに記録できます。
|
testTiming |
テスト実行のタイミングの詳細。
|
ツール実行
任意のツールの実行。テストランナー、アーティファクトのコピー、コードのデプロイツールなどが考えられます。
JSON 表現 |
---|
{ "commandLineArguments": [ string ], "toolLogs": [ { object ( |
フィールド | |
---|---|
commandLineArguments[] |
プログラム名を含む完全なトークン化されたコマンドライン(C プログラムの argv と同等)。
|
toolLogs[] |
書式なしテキストのログを参照すると、ツールの実行が出力されます。 ツールの実行中にログのライブビューにアクセスできるように、ツールが終了する前にこのフィールドを設定できます。 ステップあたりのツールログの最大数は 1,000 です。
|
exitCode |
ツール実行終了コード。このフィールドは、ツールが終了すると設定されます。
|
toolOutputs[] |
ツールの実行により出力された任意の形式の不透明ファイルへの参照。 ステップごとのツール出力の最大数は 1,000 です。
|
ToolExitCode
ツール実行の終了コード。
JSON 表現 |
---|
{ "number": integer } |
フィールド | |
---|---|
number |
ツール実行終了コード。値が 0 の場合は、実行が成功したことを意味します。
|
TestIssue
テスト実行中に検出された問題。
JSON 表現 |
---|
{ "errorMessage": string, "stackTrace": { object ( |
フィールド | |
---|---|
errorMessage |
問題を説明する、人が読める短いメッセージ。必須。 |
stackTrace |
特定の警告内のスタック トレース フィールドを優先するため、非推奨になりました。 |
warning |
問題の詳細を含む警告メッセージ。常に com.google.devtools.toolresults.v1.warnings からのメッセージである必要がある |
severity |
問題の重大度。必須。 |
type |
問題の種類。必須。 |
category |
問題のカテゴリ。必須。 |
すべて
Any
には、任意のシリアル化されたプロトコル バッファ メッセージと、シリアル化されたメッセージのタイプを記述する URL が含まれます。
Protobuf ライブラリでは、ユーティリティ関数または Any 型の生成された追加メソッドという形で、Any 値のパック / アンパックがサポートされています。
例 1: C++ によるメッセージのパックとアンパック
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
例 2: Java によるメッセージのパックとアンパック
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
例 3: Python によるメッセージのパックとアンパック
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
例 4: Go でメッセージをパッケージ化および展開する
foo := &pb.Foo{...}
any, err := ptypes.MarshalAny(foo)
...
foo := &pb.Foo{}
if err := ptypes.UnmarshalAny(any, foo); err != nil {
...
}
protobuf ライブラリによって提供されている Pack メソッドは、デフォルトでは、型 URL として 'type.googleapis.com/full.type.name' を使用し、Unpack メソッドは、型 URL の最後の '/' の後の完全修飾型名のみを使用します。たとえば、"foo.bar.com/x/y.z" からは型名 "yz" が生成されます。
JSON
Any
値の JSON 表現では、シリアル化解除された埋め込みメッセージの通常の表現と、URL 型のフィールド @type
が追加されています。例:
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
埋め込みメッセージ型が既知のもので、カスタム JSON 表現がある場合、その表現は、@type
フィールドに加えて、カスタム JSON を保持するフィールド value
を追加して埋め込まれます。例(メッセージ google.protobuf.Duration
の場合):
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
JSON 表現 |
---|
{ "typeUrl": string, "value": string } |
フィールド | |
---|---|
typeUrl |
シリアル化されたプロトコル バッファ メッセージのタイプを一意に識別する URL またはリソース名。この文字列には「/」を 1 つ以上含める必要がありますあります。URL のパスの最後のセグメントは、型の完全修飾名( 実際には、チームは通常、Any のコンテキストで使用されることが期待されるすべての型のバイナリにプリコンパイルします。ただし、
注: この機能は現在、正式な protobuf リリースでは利用できません。また、type.googleapis.com で始まるタイプの URL には使用されません。 実装固有のセマンティクスでは、 |
value |
上記のタイプの有効なシリアル化されたプロトコル バッファである必要があります。 Base64 でエンコードされた文字列。 |
重大度
問題の重大度。
列挙型 | |
---|---|
unspecifiedSeverity |
デフォルトの未指定重大度。使用しないでください。バージョニング専用。 |
info |
重大ではない問題。テスト実行に関する一部の情報をユーザーに提供します。 |
suggestion |
重大ではない問題です。テストエクスペリエンスを改善するためのヒント(ゲームループの使用を提案するなど)をユーザーに提供します。 |
warning |
重大な問題である可能性があります。 |
severe |
重大な問題。 |
タイプ
問題の種類。
列挙型 | |
---|---|
unspecifiedType |
デフォルトの未指定型。使用しないでください。バージョニング専用。 |
fatalException |
問題が致命的な例外である場合。 |
nativeCrash |
問題がネイティブ クラッシュである。 |
anr |
ANR のクラッシュに関する問題です。 |
unusedRoboDirective |
問題が使用されていない robo ディレクティブである。 |
compatibleWithOrchestrator |
問題は、オーケストレーターの使用を推奨するものです。 |
launcherActivityNotFound |
ランチャー アクティビティの検索に関する問題 |
startActivityNotFound |
アクティビティを開始するためのユーザー提供インテントの解決に関する問題 |
incompleteRoboScriptExecution |
Robo スクリプトが完全に実行されませんでした。 |
completeRoboScriptExecution |
Robo スクリプトは完全に正常に実行されました。 |
failedToInstall |
APK をインストールできませんでした。 |
availableDeepLinks |
テスト対象のアプリにはディープリンクがありますが、Robo にはディープリンクが提供されていません。 |
nonSdkApiUsageViolation |
アプリが SDK 以外の API にアクセスしました。 |
nonSdkApiUsageReport |
アプリが SDK 以外の API にアクセスしました(新しい詳細レポート) |
encounteredNonAndroidUiWidgetScreen |
Robo のクロールで、Android UI ウィジェット以外の要素を含む画面が 1 つ以上検出されました。 |
encounteredLoginScreen |
Robo のクロールで、考えられるログイン画面が少なくとも 1 つ表示されました。 |
performedGoogleLogin |
Robo が Google でログインしました。 |
iosException |
iOS アプリが例外でクラッシュしました。 |
iosCrash |
iOS アプリが例外なくクラッシュした(強制終了など)。 |
performedMonkeyActions |
Robo のクロールには、一部のモンキー アクションの実行が含まれていました。 |
usedRoboDirective |
Robo クロールで Robo ディレクティブが使用されています。 |
usedRoboIgnoreDirective |
Robo のクロールでは、Robo ディレクティブを使用して UI 要素を無視していました。 |
insufficientCoverage |
Robo がアプリの重要な部分をクロールしませんでした。 |
inAppPurchases |
Robo のクロールで一部のアプリ内購入が含まれていました。 |
crashDialogError |
テスト実行中にクラッシュ ダイアログが検出されました |
uiElementsTooDeep |
UI 要素の深度がしきい値を超えています |
blankScreen |
Robo のクロールで空白の画面が表示される |
overlappingUiElements |
Robo のクロールで UI 要素が重複しています。 |
unityException |
捕捉されていない Unity 例外が検出されました(アプリはクラッシュしません)。 |
deviceOutOfMemory |
デバイスのメモリ不足が検出されました |
logcatCollectionError |
Logcat の収集中に検出された問題 |
detectedAppSplashScreen |
Robo が、アプリが提供するスプラッシュ画面を検出しました(Android OS スプラッシュ画面ではありません)。 |
assetIssue |
このテストのアセットに問題がありました。 |
カテゴリ
問題のカテゴリ。
列挙型 | |
---|---|
unspecifiedCategory |
デフォルトの未指定カテゴリ。使用しないでください。バージョニング専用。 |
common |
問題が特定のテストの種類に固有のものではない(ネイティブ クラッシュなど)。 |
robo |
Robo の実行に固有の問題です。 |
テストタイミング
テストのタイミングは、各フェーズに応じて分けられます。
JSON 表現 |
---|
{
"testProcessDuration": {
object ( |
フィールド | |
---|---|
testProcessDuration |
テストプロセスの実行にかかった時間。
|
ToolExecutionStep
明示的にサポートしていないバイナリに使用される一般的なツールステップです。たとえば、cp を実行してアーティファクトをある場所から別の場所にコピーします。
JSON 表現 |
---|
{
"toolExecution": {
object ( |
フィールド | |
---|---|
toolExecution |
ツールの実行。
|
マルチステップ
グループと同じ構成で複数のステップが実行される場合の詳細。
JSON 表現 |
---|
{
"primaryStepId": string,
"multistepNumber": integer,
"primaryStep": {
object ( |
フィールド | |
---|---|
primaryStepId |
メイン(元の)ステップのステップ ID(このステップである場合があります)。 |
multistepNumber |
各ステップに指定された一意の整数。値の範囲は、0 から合計ステップ数までです。第 1 ステップは 0 です。 |
primaryStep |
メインの(元の)ステップの場合は提示します。 |
メインの手順
グループとして実行された複数のステップの統合テスト ステータスと、個々のステップの結果を保存します。
JSON 表現 |
---|
{ "rollUp": enum ( |
フィールド | |
---|---|
rollUp |
グループと同じ構成で実行された複数のステップの統合テストのステータス。 |
individualOutcome[] |
各ステップのステップ ID と結果。 |
個別の成果
同じ構成の他のステップを持つグループとして実行された個々のステップのステップ ID と結果。
JSON 表現 |
---|
{ "stepId": string, "outcomeSummary": enum ( |
フィールド | |
---|---|
stepId |
|
outcomeSummary |
|
multistepNumber |
各ステップに指定された一意の整数。値の範囲は、0 から合計ステップ数までです。第 1 ステップは 0 です。 |
runDuration |
このステップの実行にかかった時間。 |
メソッド |
|
---|---|
|
指定されたステップのユーザー補助クラスタを一覧表示します 次の標準的なエラーコードのいずれかを返すことがあります。
|
|
ステップを作成します。 |
|
ステップを取得します。 |
|
PerfMetricsSummary を取得します。 |
|
指定された実行のステップを一覧表示します。 |
|
指定された部分エンティティで既存の Step を更新します。 |
|
XML ファイルを既存のステップにパブリッシュします。 |