Postmanで変数で連続GETしてレスポンスをテストする

PostmanでAPIを連続して投げます。

GETの基本

Workspaces > My Workspace > 「+」でタブを新規オープン

f:id:hiro-29:20220331201618p:plain


URLを入れて、Sendを押下すればOK。
KEYとVALUEはURLに直書きしてもいいし、Query Paramsに入力してもよい。

f:id:hiro-29:20220331201954p:plain

結果は画面下部の「Response」に表示されます。

保存しておく

ちなみに、このまま放置してもタブは残ってくれているのですが、一回きりということはほとんどないと思いますので「保存」しておきます。
保存ボタン、グレーだから忘れがち。

f:id:hiro-29:20220331202945p:plain

フォルダを作れば、こんな感じに左の作業カラムに表示できます。
勝手に「GET」「POST」等をカラーリングして表示してくれる。
f:id:hiro-29:20220331203334p:plain

URLの一部を書き換えて連続して実行

例えばこのキャプチャなら「id=10」などの部分を、11も12も一気に投げたい場合。
波括弧・ブレースと呼ばれる {{}} で囲います。

f:id:hiro-29:20220331203804p:plain

この状態で「保存」しておきます。
保存してないと次ができません。

Runnerを起動

場所が結構分かりにくいです。
画面右下のはしっこ、ここからいつでも起動できます。

f:id:hiro-29:20220331204342p:plain

フォルダ単位でこっちからもいけます。
フォルダタブを開いて「▶」マークを押す。

f:id:hiro-29:20220331204427p:plain

実行したいコレクションを追加

書いてある通り、Drag a collectionします。

f:id:hiro-29:20220331210449p:plain

こうやって表示されます。
ということは、チェックを外せばもちろん実行されませんし、別のコレクションを連続して実行することもできます。優秀!

f:id:hiro-29:20220331210618p:plain

CSVファイルを作成

たぶん一番簡単だと思われる、csvで取り込む方法でやります。
こういう感じで、ブレースで宣言してある変数をタイトル行にして処理したい数分、行として追加。

pagename,id,page
testpage,1,1
testpage,1,2
testpage2,1,1
testpage2,1,2

ファイルを取り込んで実行

Select File から作成したCSVを選択。

f:id:hiro-29:20220331205437p:plain

勝手に行数とファイルタイプが表示されます。

f:id:hiro-29:20220331205657p:plain

実行

実行すると、こういう感じで返ってきます。

f:id:hiro-29:20220331211114p:plain

これだけだとステータスは分かるけど、それぞれのレスポンスの中身が見れません。(見える方法あるのかな?わかんなかった)
「This request does not have any tests.」と書いてあるように、Runnerは基本的にはテストを書いて実行するもののようです。

コレクションにテストを書く

今回はレスポンスがjsonで返ってくる予定で、その中に「item: 」という文字列がちゃんと返ってきているかをテストします。
jsは苦手…。

pm.test("Item is there", function () {
    pm.expect(pm.response.text()).to.include("item\":\" ");
});

サンプルは本家がしっかり出してくれてます。
learning.postman.com


Testを書いたらちゃんと「保存」して、もう一度Runnerで実行します。

f:id:hiro-29:20220331213918p:plain

Passしました。