Magic Podの使い方 > Web APIコール
「Web APIコール」(図1)のコマンドを使うと、Web API(REST API)をテストスクリプト中で実行できます。APIの呼び出しはユーザーのPCから行われるため、社内サーバが提供するAPIを呼び出すのも容易です。
Web APIコールは、HTTPのGET・POST・PUT・DELETEメソッドの呼び出しに対応しています。
なお、クラウド端末や外部クラウドでは、Web APIコールを呼び出し可能なURLが制限されており、「Currently the cloud test run does not support webApi command」というエラーが出ることがあります。この問題は対応が可能なので、接続先URLドメインの情報とともにMagic Podサポートにご連絡ください。
GETメソッド
例として、毎回異なるランダムなユーザー情報を図2のJSON形式で取得できるRANDOM USER GENERATORにアクセスしてみましょう。1
1 2 3 4 5 6 7 8 9 10 |
{ "results": [ { "name": { "first": "levi", "last": "jones", } } ] } |
まず、図1の「編集」ボタンを押すと開く編集ダイアログで、図3のようにメソッドに「GET」、URLに「https://randomuser.me/api?format=json」を指定します。
また、図3の「結果」タブでは、変数にAPIのレスポンスの値をセットして、後続の処理で使えるようにします。「変数」列には変数名を、「Javascript」列にはセットするレスポンスの値を指定します。Javascript列中では、「jsonResponse」でレスポンスをJSONオブジェクトとして参照することができ、「jsonResponse["results"]」のようなJavascriptの記法で各項目にアクセスすることができます。
変数にセットした値は、同じテストケースの後続のコマンドから、「${変数名}」で参照することができます。図3では変数LNにユーザーのラストネームを、変数FNにユーザーのファーストネームをセットしたので、これを使って図4のようにランダムなユーザー名を入力エリアにセットすることができます。
- 保存した変数は同一のテストケース内でのみ有効です。他のテストケースで利用することはできません。
- HTTPリクエストのヘッダーを指定したい場合は、図3のダイアログの「ヘッダー」タブで指定します。
- GETメソッドのクエリパラメータは、URLの後ろに「?<キー1>=<値1>&<キー2>=...」の形式で指定します。
POST・PUT・DELETEメソッド
メソッド名・URL・ヘッダー・レスポンスの指定方法については、GETメソッドの場合と同様です。
また、POST・PUT・DELETEメソッドの場合は、図5のように「ボディ」タブでリクエストのボディを指定することができます。ボディの値は、「フォームデータ形式」(POSTメソッドのみ)か「rawデータ形式」(テキスト形式)かを選ぶことができます。
- 説明を分かりやすくするため、図2では実際のAPIのレスポンスから情報を大幅に取り除いています。 [↩]