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

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

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

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

    クラウドランナーテストランナー 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 テストランナーの進捗状況を取得できない理由を詳述したエラーメッセージ。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)
    名前 説明
    testid クラウドランナーで実行するテスト [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 が渡されませんでした (No Test ID passed in):テスト 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>" 
      } 
    }