「Web APIコール」(図1)のコマンドを使うと、Web API(REST API)をテストスクリプト中で実行できます。
Web APIコールは、HTTPのGET・POST・PUT・DELETEメソッドの呼び出しに対応しています。
GETメソッド
例として、毎回異なるランダムなユーザー情報を図2のJSON形式で取得できるRANDOM USER GENERATORにアクセスしてみましょう。
説明を分かりやすくするため、図2では実際のAPIのレスポンスから情報を大幅に取り除いています。
{
"results": [
{
"name": {
"first": "levi",
"last": "jones",
}
}
]
}
図2 RANDOM USER GENERATORのJSONレスポンス
まず「編集」ボタンを押すと
開かれた編集ダイアログで、メソッドに「GET」、URLに「https://randomuser.me/api?format=json」を指定します。
そして図3の「結果」タブでは、変数にAPIのレスポンスの値をセットして、後続の処理で使えるようにします。「変数」列には変数名を、「Javascript」列にはセットするレスポンスの値を指定します。Javascript列中では、レスポンスの値をJSONオブジェクトとして参照することができます。具体的には、
- 「jsonResponse」はレスポンスボディを参照するJSONオブジェクト
- 「responseHeaders」はレスポンスヘッダーを参照するJSONオブジェクト
として利用可能です。「jsonResponse["results"]」や「responseHeaders["Set-Cookie"]」のようなJavascriptの記法で各項目にアクセスすることができます。
変数にセットした値は、同じテストケースの後続のコマンドから、「${変数名}」で参照することができます。図3では変数LastNameにユーザーのラストネームを、変数FirstNameにユーザーのファーストネームをセットしたので、これを使って図4のようにランダムなユーザー名を入力エリアにセットすることができます。
- 保存した変数は同一のテストケース内でのみ有効です。他のテストケースで利用することはできません。
- HTTPリクエストのヘッダーを指定したい場合は、図3のダイアログの「ヘッダー」タブで指定します。
- GETメソッドのクエリパラメータは、URLの後ろに「?<キー1>=<値1>&<キー2>=...」の形式で指定します。
POST・PUT・DELETEメソッド
メソッド名・URL・ヘッダー・レスポンスの指定方法については、GETメソッドの場合と同様です。
また、POST・PUT・DELETEメソッドの場合は、図5のように「ボディ」タブでリクエストのボディを指定することができます。ボディの値は、「フォームデータ形式」(POSTメソッドのみ)か「rawデータ形式」(テキスト形式)かを選ぶことができます。