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

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

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

    この API は、次のタスクに使用できます。
    • クラウドランナーブラウザーで 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 レコードの現在のステータス。
    可能な値:
    • 要求されたブラウザ:テスト生成またはテスト実行のためにブラウザを起動するための要求がクラウドインフラストラクチャに送信されました。
    • 完了:テストタスクが完了しました。
    • [失敗] ステータス:テストタスクは失敗しました。
    • 保留中:要求されたテストアクティビティが作成され、実行を待機しています。
    • 処理中:インスタンスは、要求がクラウドインフラストラクチャに送信される前に、実行トラッカーがクラウドランナーに対してマークされていることを確認するためにレコードをスキャンしています。
    • 実行中:クラウドインフラストラクチャブラウザーは、保留中のテストを検索して実行します。

    データタイプ:文字列

    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"
      }
    }

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

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

    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" 
      } 
    } 

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

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

    URL 形式

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

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

    表 : 13. パスパラメーター
    名前 説明
    なし
    表 : 14. クエリパラメータ
    名前 説明
    なし
    表 : 15. 要求本文パラメーター (XML または JSON)
    名前 説明
    テスト ID クラウドランナーで実行するテスト [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 テストランナージョブの開始中にエラーが発生しました。次のメッセージのいずれかを返します。
    • 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>" 
      } 
    }