リリースの最近失敗した自動テストを取得する

このフローは、過去24時間に報告された特定のリリースで失敗した自動テストのリストを取得する方法を示しています。

エリア: 自動テスト実行、リリース

エンティティ関連図

このフローでは、次のエンティティにアクセスし、これらのエンティティ間の関係を理解する必要があります。

エンティティ このフローの関係 関係の説明 参照 /関係フィールド
テスト   この集約リソースコレクションは、手動、Gherkin、テストスイート、自動化など、テストの種類を表します。 subtype
自動テスト テスト

自動テストは、testsのサブタイプです。

集約リソースコレクションtestsに関連するフィールドはありません。

 
実行

各自動テストには、0回以上の実行を関連付けることができます。

自動テストの参照フィールドlast_runsを使用して、過去24時間に発生した最後の実行を検索します。

last_runs
実行 自動テスト 各実行は1つのテストに関連付けられています。 test_of_last_run
リリース 実行はリリースに関連付ける必要があります。 release
リリース 実行 リリースは実行に関連付けることができます。 run

トップに戻る

フロー

ステップバイステップでREST API呼び出しを作成しましょう。

  1. last_runs参照フィールドを使用して、自動テストの最新の実行でクエリを作成します。

    GET .../api/shared_spaces/<shared space ID>/workspaces/<workspace id>/automated_tests?query="last_runs EQ { <query_clause> }"

  2. 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^})}"

  3. ステータスが失敗した実行にのみアクセスしたいと思います。これは、リストノードを操作する方法の例です。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^}}"

    参照フィールドとリストノードの操作の詳細については、エンティティフィールドに許可されている値を取得するを参照してください。

  4. 過去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();
}

トップに戻る

参照情報: