Postmanの入門から精通へ:正規表現エクストラクタを使ったAPIチェーンの実装
Postmanの正規表現エクストラクタを活用してAPIチェーンを実装する方法を紹介します。テストプロセスを自動化し、効率化を図るための実践的なアプローチを学びましょう。
前回の記事では、JSONエクストラクタを用いたAPIチェーンの実装方法を探りました。興味のある方は、こちらのリンクから記事をチェックしてください。
今回の記事では、PostmanでのAPIテストにおけるもう一つの重要なテクニック—正規表現エクストラクタを利用したAPIチェーンについて解説します。
正規表現エクストラクタを使ったAPIチェーンの実装
それでは、正規表現エクストラクタを使ってどのようにAPIチェーンを実現できるでしょうか?以下にステップバイステップでご紹介します。
ステップ 1: ポストレスポンススクリプトセクションにアクセス
最初に、APIリクエストのポストレスポンスセクションに移動します。ここでは、抽出プロセスをスクリプト化します。
まずは次のように入力します:
responseBody.match()
match
関数はレスポンスデータの本文に対して正規表現をマッチさせるために使用します。
ステップ 2: 正規表現パターンを作成
次に、match
関数内で正規表現を定義します:
responseBody.match(new RegExp())
有効な正規表現パターンを書くために、まずPostmanで返されるデータの生データフォーマットを確認します。
抽出したい具体的な部分を特定しましょう。例えば、username
をターゲットとするとします。これをシングルクォートで囲み、正規表現に挿入します:
responseBody.match(new RegExp('"username":"echoapi"'))
次に、固定値をキャプチャグループ(.*?)
に置き換え、動的な抽出を可能にします:
responseBody.match(new RegExp('"username":"(.*?)"'))
ステップ 3: 抽出した値をキャプチャして保存
一致した結果をresult
という変数に代入します:
var result = responseBody.match(new RegExp('"username":"(.*?)"'));
result
を出力して、抽出されたデータの構造を確認します:
console.log(result);
result
には、全マッチを持つresult[0]
と、必要な抽出値を持つresult[1]
が含まれます。正しく値を取得できているか確認するために、result[1]
を出力します:
console.log(result[1]);
ステップ 4: 値をグローバル変数として設定
確認できたら、username
をグローバル変数として設定します:
pm.globals.set("username", result[1]);
これにより、Postmanテストの他の部分でユーザー名を使用できるようになります。
ステップ 5: 他のAPIリクエストでグローバル変数を使用
次に、「get user info」APIリクエストに移動します。ここで、グローバル変数の構文{{username}}
を使用して、username
を参照できます。このリクエストを送信すると、Postmanは前のステップで抽出した値を使用し、2つのAPI呼び出しを効果的につなぎます。
結論
Postmanで正規表現エクストラクタを使用することにより、APIテストの自動化能力を高めるだけでなく、リクエスト間の手動データ処理を省くことで時間を節約できます。このテクニックをマスターすることで、開発者としてより包括的で正確なテストを実行し、API統合の堅牢性と効率性をさらに保証します。Postmanで正規表現の力を活用して、ワークフローを合理化し、開発ツールキットを強化しましょう。