APIリクエストとレスポンスの検証
mabl Trainerでは、「APIリクエスト」ステップ (別名APIステップ) を介して、APIリクエストを送信し、レスポンスをやり取りすることができます。テストカバレッジを直接操作せずにUIで拡張するには、これらのステップを使用します。現在、APIステップ機能は、HTTPまたはHTTPSで公開されるAPIをサポートしています。
mabl Trainerでは、「APIリクエスト」ステップ (別名APIステップ) を介して、APIリクエストを送信し、レスポンスをやり取りすることができます。テストカバレッジを直接操作せずにUIで拡張するには、これらのステップを使用します。現在、APIステップ機能は、HTTPまたはHTTPSで公開されるAPIをサポートしています。
Enterprise機能
この機能は、Enterpriseプランのお客様だけでなく、mablのすべてのトライアルでご利用いただけます。
APIリクエストステップの作成
APIステップを追加するには、mabl Trainerを使用する必要があります。既存のテストの編集に使用する "Quick Edit" トレーナーでも、これらのステップを追加できます。


APIリクエストステップの使用方法
基本
表示されるモーダルの上部に、以下の項目があります。
- APIリクエストメソッドのドロップダウン
- URLフィールド
- [Send] ボタン


リクエストメソッドのドロップダウンをクリックすると、指定したURLに対して実行する具体的なAPIリクエストメソッドを選択できます。選択できるリクエストメソッドはいくつかあります。各メソッドの詳細については、このリソースを参照してください。最後に [Send] ボタンをクリックすると、目的のURLにリクエストが送信されます。必要な場合は、通常の {{@variableName}}
構文を使用してURLに変数を指定できます。この構文は、通常、前のステップで作成した変数を参照するために使用します。


リクエストの変更
左下には、[Headers]、[Authorization]、[Body] というセクションで構成された大きなモジュールがあります。このオプションのセクションを使用すると、最初のAPIリクエストの各部分を実際のニーズに合わせて変更できます。たとえば、[Headers] セクションには、実際のAPIレスポンスのヘッダーがJSON形式で表示されます。さらに、リクエストの [Body] の部分では、通常のJavaScriptステップと同様に {{@variableName}}
構文の変数を使用できます。


リクエストの送信
正しいリクエストメソッドを選択し、URLフィールドに入力し、上述したオプションの情報を指定すると、リクエストを送信できる状態になります。リクエストを送信するには、モーダルの右上にある [SEND] ボタンをクリックするだけです。


リクエストを送信すると、左下の [Request] モジュールが [Response] に変わり、リクエストの結果が表示されます。


レスポンスは、以下のフィールドから成るJSONオブジェクトとして表示されます。
headers
: nameフィールドとvalueフィールドから成るHTTPレスポンスヘッダーの配列status
: HTTPレスポンスのステータス
レスポンスには、以下のフィールドが含まれる場合もあります。
body
: 文字列に変換されたレスポンスボディjson
: 構文解析されたJSON (HTTPレスポンスのボディがJSONオブジェクトを含んでいる場合)
結果の使用方法
結果を受信した後、リクエストをいくつかの方法で操作できます。
アサーションの実行
モーダルの右側にあるモジュールのデフォルトは [Assertions] です。ここでは、結果のStatus
, Header
, Body
(JSONまたはテキスト) をアサートすることができます。たとえば、レスポンスコードが200かどうかや、レスポンスのContent-Type
ヘッダーがapplication/json
かどうかをアサートできます。


レスポンスの抽出による変数の作成
レスポンスの一部を使用して変数を作成し、その変数を後でテストに使用することができます。さらに、ドロップダウンから [Response] オプションを選択して、レスポンス全体を特定の名前の変数として保存することもできます。この変数は、JavaScriptステップの中で使用するなど、後でさまざまな目的で使用することができます。レスポンスから特定の値を取得するために、パスを指定することもできます。


また、レスポンスから、{ "mail": "[email protected]" }
などのJSONボディを取得することもできます。レスポンスからjson.mailフィールドを抽出し、それをemailAddress
という変数に割り当て、標準的な「変数使用」の手順を使用して、後半のステップでアプリケーションのテキストフィールドにこの変数を入力します。


構文
レスポンスからデータを取得する方法は、階層型のJSONドキュメントからJSONの値を抽出する方法と同じです。たとえば、下のレスポンスから値1010 Park Street
を抽出する場合、[Assertions] または [Variables] で [JSON (Body)
] が設定されているときには、属性people[1].address
を使用してこの値を指定します。値Juneau
を抽出するには、属性capitals.Alaska
またはcapitals["Alaska"]
を使用します。
{
"headers": [
{
"name": "content-type",
"value": "application/json"
}
],
"json": {
"people": [
{
name : "Ada",
address: "1 Main Street"
},
{
name : "Charles",
address: "1010 Park Street"
}
],
"capitals": {
"Alabama": "Montgomery",
"Alaska": "Juneau"
}
},
"status": 200
}
一連の作業の終了後に [SAVE] をクリックすると、ステップがテストに追加されます。
Updated 6 months ago