Postmanの入門から精通へ:JSONエクストラクタでのAPIチェーンの実装
この記事では、PostmanのJSONエクストラクターの実用的な使用方法を探ります。テストプロセスを自動化し、手動でのデータ処理を減らすためのアプローチを紹介します。
PostmanはAPIのデバッグとテストにおける定番ツールであり、開発者が習得すべき必須スキルの一つです。この記事では、テストプロセスを簡素化するための重要なテクニックであるJSONエクストラクタを使用したAPIチェーンの実装方法をハンズオンで探ります。
APIのテスト中、開発者はしばしばリクエスト同士をリンクさせる、いわゆる「チェーン」を作成する課題に直面します。手動でこれらのリンクを扱うのは面倒でエラーを起こしやすいです。例えば、「create a new user」APIのレスポンスからusername
を抽出し、それを「get user info」のリクエストに自動的に挿入する必要があるシナリオを考えてみてください。このプロセスを効率的に行うにはどうすればよいでしょうか?
この課題を達成するためには主に2つの方法があります:
- JSONエクストラクタを使用したAPIチェーン。
- 正規表現エクストラクタを使用したAPIチェーン。
この記事では、JSONエクストラクタを使用したAPIチェーンの実装方法に焦点を当てます。
JSONエクストラクタを使用したAPIチェーンの設定
ステップ1: 「Create a New User」APIのテストセクションにアクセス
最初に、「create a new user」APIのポストレスポンスタブに移動します。このエリアでは、リクエストが行われた後のアクションをスクリプト化できます。
まず、レスポンスボディをコンソールに出力します。
console.log(responseBody);
ここで、responseBody
はリクエストから返されたデータを示します。インターフェースの右下にあるコンソールパネルで出力された情報を確認できます。
ステップ2: ユーザー名を抽出する
JSONエクストラクタを使用して、レスポンスからusername
の値を取得します。
まず、返されたデータ文字列をオブジェクトに変換します。
var result = JSON.parse(responseBody);
次に、ユーザー名が正しく抽出されたことを確認するために、以下を出力します。
console.log(result.user.username);
ステップ3: ユーザー名をグローバル変数としてセット
ユーザー名が正しく抽出されたことを確認したら、それをグローバル変数として保存します。
pm.globals.set("username", result.user.username);
このコマンドは、ユーザー名をグローバル変数に割り当て、異なるリクエスト間でアクセス可能にします。
グローバル変数が正しく設定されているか確認するには、Postmanの右上にあるボタンをクリックして、グローバル変数を表示します。
ステップ4: 「Get User Info」APIでグローバル変数を参照
「get user info」APIでは、グローバル変数の構文{{username}}
を使用して、抽出したユーザー名を参照できます。これにより、あるAPIの結果が自動的に別のリクエストに情報を提供するシームレスなAPIチェーンが可能になります。
まとめ
PostmanでJSONエクストラクタを利用することで、APIチェーンのプロセスを簡素化し、テストワークフローをより効率的でエラーが発生しにくいものにできます。開発者として、この機能をマスターすることで、時間を節約するだけでなく、テストの堅牢性を向上させることができます。リクエスト間でデータを自動的に渡す能力は、APIテストプロセスの整合性と連続性を確保するのに役立つ強力な機能です。