Postmanの入門から精通へ:組み込み動的パラメータとカスタム動的パラメータの活用法

Postmanの組み込み動的パラメータとカスタム動的パラメータを活用することで、APIテストの自動化と効率化を実現できます。この記事では、具体的な活用法を紹介し、開発ワークフローをさらに合理化する方法を探ります。

Postmanは、APIテストやデバッグを効率的に行うために欠かせない開発者のツールです。その豊富な機能の中でも、動的パラメータを扱う能力は、開発ワークフローを合理化し、繰り返し作業の削減に大いに役立ちます。

Postman.png

この記事では、開発者がよく直面する課題の1つ、APIリクエストのパラメータを手動で変更する問題について取り上げます。この課題に対し、Postmanの組み込み動的パラメータおよびカスタム動的パラメータを活用する方法を詳しく解説します。

具体的に学ぶ前に、Postmanの便利な3つのシナリオを簡単に振り返ります:

1. 複数環境における管理の効率化:こちらのガイドリンクで詳細をご覧ください。

Postmanの入門から精通へ:環境変数とグローバル変数をマスターする
Postmanの環境変数とグローバル変数をマスターすることで、APIテストプロセスを効率化し、複数の環境をシームレスに管理できます。この記事では、それらの設定方法と実用的な活用例を紹介します。


2. APIリクエストチェインの実現こちらの記事でAPIリクエストのリンク方法に関する技術を確認できます。

Postmanの入門から精通へ:JSONエクストラクタでのAPIチェーンの実装
この記事では、PostmanのJSONエクストラクターの実用的な使用方法を探ります。テストプロセスを自動化し、手動でのデータ処理を減らすためのアプローチを紹介します。
Postmanの入門から精通へ:正規表現エクストラクタを使ったAPIチェーンの実装
Postmanの正規表現エクストラクタを活用してAPIチェーンを実装する方法を紹介します。テストプロセスを自動化し、効率化を図るための実践的なアプローチを学びましょう。


3. 動的入力値の活用:この記事では、このテーマに焦点を当て、APIパラメータを自動化する方法を解説します。

それでは、Postmanの動的パラメータ機能を使用して手動修正の問題を解決する方法を見ていきましょう!


Postmanの組み込み動的パラメータ

Dynamic Parameters.jpg

Postmanには、すぐに利用できる便利な組み込み動的パラメータがいくつかあります。これらのパラメータは、ランダム値や時間依存データを生成するタスクを簡素化します。以下が代表的な例です:

  • {{$timestamp}}:現在のUnixタイムスタンプ(ミリ秒単位)を生成。
  • {{$randomInt}}:0から1,000までのランダムな整数を生成。
  • {{$guid}}:ランダムなGUID文字列を生成。

実例:既存の「ユーザー名重複エラー」を回避する

たとえば、「Create a New User」APIを操作しているとします。同じユーザー名(例:echoapi)を繰り返し使用すると、次のようなエラーメッセージが返されます:

{
    "error": 1,
    "msg": "Username already exists"
}
Username Already Exists.jpg

これを回避するには、組み込み動的パラメータを使用してユーザー名フィールドにユニークな値を追加します。たとえば、以下のように書き換えます:

{
  "username": "echoapi{{$timestamp}}"
}

リクエストを送信すると、Postmanは{{$timestamp}}を現在のUnixタイムスタンプに置き換えます。この方法により、リクエストごとに違うユーザー名を生成できるため、毎回手動で編集する必要がなくなります。

timestamp.jpg

このように、組み込み動的パラメータは簡単かつ迅速にランダム値やユニーク値を生成でき、テストをより効率的かつ正確に自動化します。


Postmanでのカスタム動的パラメータ

Postmanの組み込み動的パラメータは便利ですが、時には独自のカスタム動的パラメータを作成する必要があります。ここではタイムスタンプの生成を例にして、カスタムパラメータを作成し利用する方法を説明します。

ステップ1: Pre-Request Scriptの記述

Pre-Request ScriptはAPIリクエストを送信する前に実行されます。以下の手順でカスタムタイムスタンプを作成します:

  1. リクエストのPre-request Scriptセクションに移動します。
Pre-request Script.jpg
    • Date.now():現在のUnixタイムスタンプ(ミリ秒単位)を生成します。
    • pm.globals.set:生成した値をグローバル変数(time)として保存し、他のAPIリクエストからもアクセス可能にします。

次に、現在のタイムスタンプを生成するスクリプトを記述します:

var time = Date.now();
pm.globals.set("time", time);
timestamp.jpg

ステップ2: リクエスト内でカスタムパラメータを使用

次に、リクエストペイロード内のusernameフィールドを動的に生成された値を使用するように変更します。例えば:

{
  "username": "echoapi{{time}}"
}
time.jpg

リクエストを送信すると、Postmanは{{time}}をPre-Request Scriptで生成されたタイムスタンプに置き換えます。例えば:

{
    "error": 0,
    "msg": "ok",
    "user": {
        "id": 1749,
        "username": "echoapi1737016627293",
        "firstName": "Echo",
        "lastName": "Api",
        "email": "support@echoapi.com",
        "password": "12345",
        "phone": "",
        "userStatus": 0
    }
}
Custom Parameter.jpg

この方法により、テスト要件に合わせて動的パラメータをカスタマイズし、Postmanの柔軟性をさらに高めることができます。

まとめ

組み込み動的パラメータでもカスタム動的パラメータでも、PostmanはAPIテストの自動化と簡素化において非常に強力なツールです。{{$timestamp}}{{$randomInt}}{{$guid}}といった組み込み機能はほとんどのケースに適していますが、一方で複雑なシナリオでは、独自のカスタムパラメータを作成することで柔軟性が向上します。

これらの機能を活用することで、繰り返しの手動修正を排除し、エラーを軽減し、テストワークフローを最適化することが可能です。動的パラメータをマスターして時間を節約し、テストの信頼性を向上させましょう。戦略的にこれらのツールを使用すると、Postmanの多彩で効率的な一面を最大限に引き出せるようになります!