#概要
PostmanをつかってAPIのテストをする際によく使うのはAPI URL、トークンなどを環境変数と、パラメーターは項目はあって簡単に変更できるのですが、IDなどはURLのアドレス部分に組み込む必要があるAPIもあるので、URLのアドレス部分に変数を使う方法。
#環境変数について
APIの共通URLなどは環境変数(スコープはグローバル(多分))として登録するのが簡単。
一応自社製品のAPI使ってみてます。
{{WrikeAPI}}/tasks/ みたいな感じで記述する。
WrikeAPIは https://www.wrike.com/api/v4/
として環境変数に定義されているので、結果的に
https://www.wrike.com/api/v4/tasks/
という感じで展開されるわけですが、例えばURLのパラメーター以前のアドレス部分にtaskIdなど、変数を入れる際にいちいち環境変数を設定するのが面倒。
#URLへPath Variableを設定する方法
調べてみるとStack overflowなどでPre-request Scriptなどでpm.environment.setをつかってセットしているのを見つけられましたがイマイチうまく動作しないなぁと思っていたらちゃんと公式サイトに簡単な方法が掲載されておりました。
https://learning.postman.com/docs/sending-requests/requests/
こんなかんじで下の方に書いてあります。
Sending parameters
You can send path and query parameters with your requests using the URL field and the Params tab.
Query parameters are appended to the end of the request URL, following ? and listed in key value pairs, separated by & using the following syntax: ?id=1&type=new
Path parameters form part of the request URL, and are referenced using placeholders preceded by : as in the following example: /customer/:id
どういう意味かというと、URLのパラメーター前のパスを変数にしたい場合は:を使いなさいということです。
例
https://www.wrike.com/api/v4/tasks/:taskId
するとなんと言うことでしょう。
Path Variablesという項目が出現し、URLのパスを変数としてセットできるようになります。
この例ではオプションのfieldsのパラメーターとして渡してます。
これでテスト時にIDなどの変数をURLに展開できるようになります。