PostmanでPost送信のdataにランダム変数を使う方法

PostmanはRest APIのテストに便利です。

何かAPIのようなものをテストする時、
パラメータが全て固定にしたいと限りません。

  • GET時のクエリパラムに変数を使用したい
  • POST時にランダムなdata変数を使いたい
  • とにかくランダムな値を使いたい

それには少しだけ工夫が必要です。

Postmanでdataパラメータに変数を使う、
あるいはクエリに対して変数を使うには…

その方法をまとめました。

ここで想定する架空のRest APIの仕様

別にメソッドは何でも構いません。

でもPOSTメソッドのみのRest APIと想定します。

▼ このようなAPIがあると仮定する

そしてこのAPIは次の仕様を持つとします。

▼ 受け取れるdataパラメータの種類

  • name : 投稿ユーザー名
  • contente : 投稿本文

普通にPostmanからAPIをテストする場合、
これらのパラメータは固定になってしまいます。

▼ 例えばこんな設定画面とか

Postman - 普通にRest APIをテストする場合、この画像のようにパラメータ固定だが…

この画面で言えば Tom とか Hello とか…

そういった値をランダム変数にしたいんです。
実行ごとにランダム値がセットされるという感じ

その方法をこれから紹介していきます。

とりあえず変数名をbodyパラメータにセット

Postmanではdataパラメータに変数を使えます。

※ もちろんクエリパラメータでも同様

▼ 具体的な変数の表現例

二重波カッコで変数名を囲めばOKです。

▼ 具体的なPostmanの設定画面例

Postman - とりあえず使いたい変数、この例だと {{name}}){{content}} を宣言しておく

とりあえず変数だけを宣言しておきます。

これで変数を使う下準備は完了

変数値をPre-request Scriptから設定する

ここからスクリプトの出番です。

PostmanではPre-request Scriptが用意されてます。

言語的にはJavaScriptだから馴染みやすいです。

では先ほどの {{name}}  、 {{content}}  の2変数、
これらに実行時にランダム値を設定してみましょう。

▼ 初めにPre-request Scriptタブを開く

Postman - Pre-request Scriptタブを開いて以下のようなスクリプト例を入力する

▼ このようなスクリプトを入力(例)

何をしてるかは大体わかると思います。

あらかじめ変数候補の配列を定義しておき、そこから乱数を生成 => 配列からランダム値取得して pm.globals.set()  に設定してるだけです。

ちなみにJSでの乱数生成について補足

JavaScriptでの乱数は以下にまとめました。

▼ 乱数の扱い方まとめ – 役立つテクニックも紹介

▼ 整数のみの乱数を作る方法と注意点

あとはPOST実行時にスクリプトが自動実行します。

これがdataパラメータにランダム変数を設定する方法です。

あとは普通にリクエスト実行するだけ

リクエスト実行は通常時と変わりません。

▼ いつものようにSendボタンを押すだけ

Postman - dataパラメータにランダム変数を設定できた。あとはいつも通りにSendボタンを押すだけ

GET送信・他メソッドでも方法は同じです。

以上、Postmanでのランダム変数でした。ではまた