Web APIコール

Magic Podの使い方 > Web APIコール

「Web APIコール」(図1)のコマンドを使うと、Web API(REST API)をテストスクリプト中で実行できます。APIの呼び出しはユーザーのPCから行われるため、社内サーバが提供するAPIを呼び出すのも容易です。

Web APIコールは、HTTPのGET・POST・PUT・DELETEメソッドの呼び出しに対応しています。

「Web APIコール」コマンド

図1 「Web APIコール」コマンド

GETメソッド

例として、毎回異なるランダムなユーザー情報を図2のJSON形式で取得できるRANDOM USER GENERATORにアクセスしてみましょう。1

まず、図1の「編集」ボタンを押すと開く編集ダイアログで、図3のようにメソッドに「GET」、URLに「https://randomuser.me/api?format=json」を指定します。

HTTP GETメソッド呼び出し

図3 HTTP GETメソッド呼び出し

また、図3の「結果」タブでは、変数にAPIのレスポンスの値をセットして、後続の処理で使えるようにします。「変数」列には変数名を、「Javascript」列にはセットするレスポンスの値を指定します。Javascript列中では、「jsonResponse」でレスポンスをJSONオブジェクトとして参照することができ、「jsonResponse["results"]」のようなJavascriptの記法で各項目にアクセスすることができます。

変数にセットした値は、同じテストケースの後続のコマンドから、「${変数名}」で参照することができます。図3では変数LNにユーザーのラストネームを、変数FNにユーザーのファーストネームをセットしたので、これを使って図4のようにランダムなユーザー名を入力エリアにセットすることができます。

変数を使ってHTTPレスポンスの値を利用

図4 変数を使ってHTTPレスポンスの値を利用

  • 保存した変数は同一のテストケース内でのみ有効です。他のテストケースで利用することはできません。
  • HTTPリクエストのヘッダーを指定したい場合は、図3のダイアログの「ヘッダー」タブで指定します。
  • GETメソッドのクエリパラメータは、URLの後ろに「?<キー1>=<値1>&<キー2>=...」の形式で指定します。

POST・PUT・DELETEメソッド

メソッド名・URL・ヘッダー・レスポンスの指定方法については、GETメソッドの場合と同様です。

また、POST・PUT・DELETEメソッドの場合は、図5のように「ボディ」タブでリクエストのボディを指定することができます。ボディの値は、「フォームデータ形式」(POSTメソッドのみ)か「rawデータ形式」(テキスト形式)かを選ぶことができます。

HTTP POSTメソッド呼び出し

図5 HTTP POSTメソッド呼び出し

 

  1. 説明を分かりやすくするため、図2では実際のAPIのレスポンスから情報を大幅に取り除いています。 []