クラウドランナーテストランナー REST API

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:12分
  • 自動テストフレームワーク (ATF) のクラウドランナーで実行するテストを管理します。

    クラウドランナーテストランナー API には ATF Test Generator and Cloud Runner (sn_atf_tg) プラグインが必要です。この API で利用可能なメソッドは now 名前空間で実行され、REST API Explorer (REST API エクスプローラー) の API Name (API 名)、 One-click regression testing for ATF (ATF のワンクリック回帰テスト) を使用して呼び出すことができます。この API にアクセスするには、admin ロールが必要です。

    この API は、次のタスクに使用できます。
    • Cloud Runner ブラウザーで ATF テストまたはテストスイートを開始します。
    • テストジョブの進行状況を確認します。
    • テストジョブをキャンセルします。

    Cloud Runner Test Runner API は、クラウドランナーテスト生成 REST API および クラウドランナーテストユーザー REST API と組み合わせて使用できます。たとえば、テスト (Cloud Runner Test Generation API) を生成し、ブラウザーオーケストレーションキュー (Cloud Runner TEST Generation API) でテストの進行状況を取得して、合格または失敗したテストの数を確認できます。

    この API のサーバー API リファレンス ドキュメントを表示するには、「 クラウドランナー TestRunnerApi – スコープ対象、グローバル」を参照してください。

    クラウドランナーテストランナー - GET /now/sn_atf_tg/test_runner_progress

    指定されたブラウザオーケストレーションキュー (BOQ) レコードに対して実行された各テストのステータスを提供します。

    URL 形式

    デフォルト URL:GET /api/now/sn_atf_tg/test_runner_progress

    サポートされている要求パラメーター

    表 : 1. パスパラメーター
    名前 説明
    なし
    表 : 2. クエリパラメータ
    名前 説明
    snboqId 必須。進捗状況を取得するテスト ランナー ジョブの BOQ レコード sys_id。BOQ [sn_atf_tg_sn_boq] テーブルにあります。

    データタイプ:文字列

    表 : 3. 要求本文パラメーター (XML または JSON)
    名前 説明
    なし

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 4. 要求ヘッダー
    ヘッダー 説明
    承認 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml

    デフォルト: application/json

    表 : 5. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 6. ステータスコード
    ステータスコード 説明
    200 BOQ ジョブの進捗状況を正常に取得しました。
    400 BOQ レコードステータスの取得中にエラーが発生しました。次のいずれかのメッセージを返します。
    • BOQ ID が渡されませんでした – BOQ ID が指定されていません。BOQ ID を要求本文に追加します。
    • BOQ レコードが見つかりません:無効な Sys ID。BOQ レコードのsys_idが有効であり、レコードが存在することを確認します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 テスト ランナー ジョブの進行状況の結果、または要求が失敗した理由を説明するメッセージを含むオブジェクト。

    データタイプ: オブジェクト

    "result": { 
        "progress": 100, 
        "state": "completed" 
      }

    または:

    {
      "result": { 
        "message": "String" 
      } 
    }
    result.message テストランナーの進捗状況を取得できない理由を詳述したエラーメッセージ。メッセージ・パラメーターは、正常な応答では返されません。

    データタイプ:文字列

    result.progress 実行中のテストがどの程度完了に近づいたかを示すパーセンテージ。

    データタイプ:数値

    result.state BOQ レコードの現在のステータス。可能な値:
    • 保留中 – 要求されたテストアクティビティが作成され、実行を待機しています。
    • 処理中:インスタンスはレコードをスキャンして、リクエストがクラウドインフラストラクチャに送信される前に、実行トラッカーが Cloud Runner 用にマークされていることを確認します。
    • 要求されたブラウザー – テスト生成またはテスト実行のためにブラウザーを起動する要求がクラウドインフラストラクチャに送信されました。
    • 実行中 – クラウドインフラストラクチャのブラウザは、保留中のテストを検出して実行します。
    • 完了 – テストタスクが完了しました。
    • [Failed (失敗)] ステータス – テストタスクが失敗しました。

    データタイプ:文字列

    cURL 要求

    次の要求は、BOQ レコードのテスト ランナー ジョブの進行状況を取得します。

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_progress?snboqId=<sys_id of SNBOQ record>" \ 
    --request GET \ 
    --header "Accept:application/json" \ 
    --user "username:password"

    この応答は、テストが 100% 完了したことを示しています。

    { 
      "result": { 
        "progress": 100, 
        "state": "completed" 
      } 
    }

    次の例では、BOQ ID が渡されない場合に 400 エラー メッセージを返します。

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_progress" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    応答:

    {
      "result": {
        "message": "No SNBOQ ID passed in, add snboqId to request body"
      }
    }

    次の例では、無効な BOQ ID が渡された場合に 400 エラー メッセージを返します。

    curl "http://instance.service-now.com/api/now/sn_atf_tg/test_runner_progress?snboqId=invalid_sys_id" \
    --request GET \
    --header "Accept:application/json" \
    --user "username:password"

    応答:

    {
      "result": {
        "message": "Invalid SNBOQ sys_id passed in"
      }
    }

    クラウドランナーテストランナー:/now/sn_atf_tg/cancel_test_runner を POST

    テストランナージョブを完了ステータスに設定し、実行中の生成されたテストのルートトラッカーをキャンセルします。

    URL 形式

    デフォルト URL:GET /now/sn_atf_tg/cancel_test_runner

    サポートされている要求パラメーター

    表 : 7. パスパラメーター
    名前 説明
    なし
    表 : 8. クエリパラメータ
    名前 説明
    なし
    表 : 9. 要求本文パラメーター (XML または JSON)
    名前 説明
    snboqId キャンセルするテスト ランナージョブに関連付けられたブラウザオーケストレーションキュー(BOQ)レコード(sn_atf_tg_sn_boq)のSys_id。BOQ [sn_atf_tg_sn_boq] テーブルにあります。

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 10. 要求ヘッダー
    ヘッダー 説明
    承認 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml

    デフォルト: application/json

    Content-Type 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml

    デフォルト: application/json

    表 : 11. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 12. ステータスコード
    ステータスコード 説明
    200 成功。要求が正常に処理されました。
    400 ジョブのキャンセル中にエラーが発生しました。次のいずれかのメッセージを返します。
    • BOQ ID が渡されませんでした – BOQ ID が指定されていません。BOQ ID を要求本文に追加します。
    • BOQ レコードが見つかりません:無効な Sys ID。BOQ レコードのsys_idが有効であり、レコードが存在することを確認します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    
      "result": { 
        "message": String
      }

    データタイプ: オブジェクト

    result.message テストのキャンセルが成功したかどうかを示すメッセージ。

    データタイプ:文字列

    cURL 要求

    次の例は、BOQ レコードのsys_idに従ってテスト ランナーのキャンセル要求を形成する方法を示しています。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/cancel_test_runner" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"snboqId\":\"<sys_id of BOQ record>\"}" \ 
    --user "username:password"

    テストランナーが正常にキャンセルされたことを示す応答メッセージ。

    { 
      "result": { 
        "message": "success" 
      } 
    } 

    クラウドランナーテストランナー:/now/sn_atf_tg/test_runner を POST

    指定されたテストまたはテストスイートの BOQ [sn_atf_tg_sn_boq] テーブルにテストランナージョブを挿入し、クラウドランナーで実行します。

    URL 形式

    デフォルト URL:POST api/now/sn_atf_tg/test_runner

    サポートされている要求パラメーター

    表 : 13. パスパラメーター
    名前 説明
    なし
    表 : 14. クエリパラメータ
    名前 説明
    なし
    表 : 15. 要求本文パラメーター (XML または JSON)
    名前 説明
    testId Cloud Runner で実行するテスト [sys_atf_test] またはテストスイート [sys_atf_test_suite] のSys_id。

    ヘッダー

    次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。

    表 : 16. 要求ヘッダー
    ヘッダー 説明
    承認 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml

    デフォルト: application/json

    Content-Type 要求本文のデータ形式。サポートされるタイプ:application/json または application/xml

    デフォルト: application/json

    表 : 17. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。

    表 : 18. ステータスコード
    ステータスコード 説明
    200 テストランナー BOQ ジョブが正常に挿入されました。
    400 テスト ランナー ジョブの開始中にエラーが発生しました。次のいずれかのメッセージを返します。
    • Unable to find test or test suite with Sys ID <testId>:テスト ID が無効です。テスト (sys_atf_test) またはテストスイート (sys_atf_test_suite) レコードのsys_idが有効であり、レコードが存在することを確認してください。
    • テスト ID が渡されませんでした – テスト ID が渡されませんでした。テスト ID を要求本文に追加します。
    403 エンドポイントへのユーザーアクセスの許可中にエラーが発生しました。ユーザーに admin ロールがあることを確認します。

    応答本文のパラメーター (JSON または XML)

    名前 説明
    結果 要求の結果を含むオブジェクト。
    { 
      "result": { 
        "snboqId": "String" 
      } 
    }

    または:

    
      "result": { 
        "message": "String"
      }

    データタイプ: オブジェクト

    result.snboqId テストランナーの起動時に挿入される BOQ レコードのSys_id。BOQ [sn_atf_tg_sn_boq] テーブルにあります。
    result.message テストランナーを開始できない理由を詳述したエラーメッセージ。

    cURL 要求

    次の要求は、テスト ランナー ジョブを BOQ [sn_atf_tg_sn_boq] テーブルに挿入します。

    curl "https://instance.service-now.com/api/now/sn_atf_tg/test_runner" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\"testId\":\"<sys_id of ATF test or test suite>\"}" \ 
    --user "username:password"

    応答本文は、正常に挿入されたテスト ランナー ジョブのsys_idを返します。

    { 
      "result": { 
        "snboqId": "<sys_id of newly inserted SNBOQ record>" 
      } 
    }