ALM Octaneへ自動テスト結果を追加

このトピックでは、REST APIを使用して、自動テスト結果をALM Octaneに手動で追加する方法について説明します。 

ヒント: 1秒あたり最大20件のリクエストを送信することをお勧めします。

フロー

他のアプリケーションからALM Octaneサーバーにテスト結果を送信するには:  

  1. 認証してサインインします。

  2. テスト結果を含むペイロードのXSDスキーマを取得します。

  3. テスト結果をプッシュする前に、ペイロードがXSDスキーマに準拠していることをで確認します。

  4. test-resultsを使用してテスト結果をプッシュします。

  5. POSTのステータスを確認します。

トップに戻る

テスト結果のペイロードを取得する

テスト結果をプッシュする前に、GET操作を使用してペイロードのXSDスキーマを取得します。

GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test-results/xsd

XSDスキーマを使用して、ペイロードを使用する前に準備および検証します。ペイロードを使用して次のことを行います。

  • 作成または更新するテストエンティティとテスト実行エンティティをALM Octaneに送信します。

  • テストおよびテスト実行にリンクするALM Octaneエンティティ。これらのリンクは、ペイロードで報告されるすべてのエンティティに対してグローバルに指定できます。具体的には、テストまたはテスト実行ごとに指定できます。

トップに戻る

テスト結果のペイロードを検証する

ペイロードXMLに精通する

ペイロードXMLと、それがALM Octaneのエンティティとどのように関連しているかを理解します。サンプルペイロードについては、サンプルペイロードを参照してください。

テストとテスト実行をペイロード内の他のエンティティにリンクする

次の表は、ALM Octaneの各エンティティタイプにリンクするためにペイロードで使用するXML要素を示しています。

テストまたはテスト実行からこのALM Octaneエンティティ /属性にリンクするには... このALM Octaneエンティティ名をRESTで使用します。 ペイロードXMLで使用する要素/属性

リリース

release

releaseまたはrelease_ref

ストーリーまたはフィーチャー

storyまたはfeature

backlog_itemsまたはbacklog_item_ref

アプリケーションモジュール

product_area

product_areasまたはproduct_area_ref

テスト

test

test_fieldsまたはtest_fieldまたはtest_field_ref

環境

taxonomy_node

environmentまたはtaxonomyまたはtaxonomy_ref

自動実行

run_automated

test_runsまたはtest_run

ビルド

ci_build

build_name

CIサーバー

ci_server

server_id

ビルドジョブ

ci_job

job_name

トップに戻る

テストとテスト実行を報告する

ペイロードがこれらのガイドラインに従って定義されていることを確認します。

  • tests要素を使用して、ALM Octaneにレポートするテストをラップします。

  • 各子テスト要素は、実行された単一のテスト、つまりテスト実行を表します。

  • 同じテストを参照する複数のテスト要素を含めないでください (たとえば、アプリケーションモジュールとパッケージの値が同じテスト要素)。

  • 一度に投稿できるテストの最大数: 1000

要素の詳細については、test-resultsを参照してください。

トップに戻る

テストの特性と各レポートのコンテキストをグローバルに設定する

レポートに含まれる一連のテストが同じ特性とコンテキストを共有する場合、レポート内のすべてのテストに対してそれらをグローバルに指定できます。

  • 特性を設定する

    詳細については、テスト特性を参照してください。

  • コンテキストを設定する

    テストをアプリケーションモジュール、要件、またはその両方に関連付けることにより、テストの製品 /プロジェクトコンテキストを指定できます。詳細については、test-resultsを参照してください。

  • テスト実行コンテキストを設定する

    テスト実行のコンテキストは、リリース、ビルド、パイプライン、および環境情報に関連付けることで指定できます。詳細については、test-resultsを参照してください。

テストの特性と各レポートのコンテキストを個別に設定します

テストレポートにさまざまな特性またはコンテキストのテストが含まれている場合は、テストごとに指定できます。これを行うには、レポートごとのコンテキストの設定に使用するのと同じ要素を使用します。

競合を解決する

コンテキスト要素がレポートごととテストごとの両方に設定され、競合が発生する可能性があります。これらの競合を処理するには、リンクの競合を解決するを参照してください。

トップに戻る

テスト結果のPOST

Content-Typeヘッダーフィールドをapplication/xmlに設定します。テスト結果を含むXMLペイロードが、上記のXSDスキーマに準拠していることを確認してください。

POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test-results

標準設定では、テスト結果のプッシュ中に発生したエラーは無視されず、POSTは失敗します。エラーをスキップするには、skip-errorsパラメーターを指定します。

POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test-results?skip-errors=true

このパラメーターの詳細については、skip-errorsを参照してください。

注: POSTリクエストを使用して、テスト実行結果を更新することもできます。テスト実行結果を更新するには、一意のモジュール、パッケージ、クラス、および名前を使用して別のPOSTリクエストを送信します。一致するテスト実行が存在する場合、そのデータ (ステータス、開始時間、期間など) が更新され、新しいテスト実行結果は作成されません。

トップに戻る

ステータスと結果の確認

  • 発生した可能性のあるエラーを確認してください。詳細については、test-resultsを参照してください。

  • 戻るステータスを確認してください。

    例: リクエスト#1206のステータスを確認するには:

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test-results/1206

    応答:

    {
    "id": "1206"
    "status": "failed"
    "until": "2016-05-18T05:33:53+0000"
    }

    リクエストのログを表示するには、テスト結果のPOSTの応答からのIDを使用します (上記を参照)。

    POST .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/test-results/1206/log

     

    応答例:

    status: failed
    until: 2016-05-18T08:33:53+0300
    Build reference {server: uuid; build_type: junit-job; build_sid: 1} not resolved

    詳細については、test-resultsを参照してください。

  • 新しい自動テストとその実行結果がALM Octaneに存在するかどうかを確認します。

トップに戻る

参照情報: