リリースの最近失敗した自動テストを取得する
このフローは、過去24時間に報告された特定のリリースで失敗した自動テストのリストを取得する方法を示しています。
エリア: 自動テスト実行、リリース
エンティティ関連図
このフローでは、次のエンティティにアクセスし、これらのエンティティ間の関係を理解する必要があります。
エンティティ | このフローの関係 | 関係の説明 | 参照 /関係フィールド |
---|---|---|---|
テスト | この集約リソースコレクションは、手動、Gherkin、テストスイート、自動化など、テストの種類を表します。 | subtype | |
自動テスト | テスト |
自動テストは、testsのサブタイプです。 集約リソースコレクションtestsに関連するフィールドはありません。 |
|
実行 |
各自動テストには、0回以上の実行を関連付けることができます。 自動テストの参照フィールドlast_runsを使用して、過去24時間に発生した最後の実行を検索します。 |
last_runs | |
実行 | 自動テスト | 各実行は1つのテストに関連付けられています。 | test_of_last_run |
リリース | 実行はリリースに関連付ける必要があります。 | release | |
リリース | 実行 | リリースは実行に関連付けることができます。 | run |
フロー
ステップバイステップでREST API呼び出しを作成しましょう。
-
last_runs参照フィールドを使用して、自動テストの最新の実行でクエリを作成します。
GET .../api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ { <query_clause> }"
-
query_clauseの作成を始めましょう。
このクエリには、次の3つの基準セットがあります。最後の実行、ステータス、および作成時間。各セットは、AND演算子を表すセミコロン (;) で区切ります。
このステップでは、特定のリリース236.2に関連付けられている実行のみに関心があります。名前フィールドを使用してリリースを指定します。
GET .../api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ {(release EQ {name EQ ^236.2^})}"
-
ステータスが失敗した実行にのみアクセスしたいと思います。これは、リストノードを操作する方法の例です。ALM Octaneで利用可能なリストの1つはrun_statusであり、最後の実行のステータスをrun_statusリストの値failedと比較したいと思います。
GET .../api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ {(release EQ {name EQ ^236.2^});status EQ {logical_name EQ ^list_node.run_status.failed^}}"
参照フィールドとリストノードの操作の詳細については、エンティティフィールドに許可されている値を取得するを参照してください。
-
過去24時間以内の実行のみが必要なので、実行の作成時間を確認します。今日が12月13日であるとすると、次の日付指定を使用できます。
GET /api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ {(release EQ {name EQ ^236.2^});status EQ {logical_name EQ ^list_node.run_status.failed^};creation_time GT ^2016-07-12T06:45:48Z^}"
このフローの完全なREST API呼び出しは次のとおりです。
GET .../api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ {(release EQ {name EQ ^236.2^});status EQ {logical_name EQ ^list_node.run_status.failed^};creation_time GT ^2016-07-12T06:45:48Z^}"
Javascriptの例
/** * Flow: All failing tests in a release reported within last 24h * @param requestor */ function getFailedTests(requestor) { // change for correct release name var releaseName = '236.2'; var automatedTestsEntityName = 'automated_tests'; //var automatedTestsEntityName = 'test_automateds'; requestor.get('/'+ automatedTestsEntityName +'?query="last_runs EQ {(release EQ {name EQ ^' + releaseName + '^});' + 'status EQ {logical_name EQ ^list_node.run_status.failed^};' + 'creation_time GT ^' + getLast24HoursDateString() + '^}"', function(error, message, last_runs) { console.info(last_runs); }); }
exports.getFailedTests = getFailedTests;
function getLast24HoursDateString() { var date = new Date(); date.setDate(date.getDate() - 1); return date.toISOString(); }
参照情報: