Postmanで環境変数を利用
概要
APIの開発ですごく役に立つツールとしてPostmanがあります。そのPostmanで使える変数設定や使い方を少し紹介したいと思います。
変数の定義
提供されるスコープは「Global」、「Environment」、「Collection」の三種類が提供されて様々な方法で変数を定義することができます。
リクエストビルダーから変数を作成するにはURL、パラメーター、ヘッダー、本文などで必要なデータを選択します。そうすると「Set as variable」のメニューが表示されます。
「Set as variable」>「Set as new variable」を選択します。
名前や値、スコープを選択して「Set variable」のボタンをクリックすると変数が作成されます。
Global変数とEnvironment変数の定義
Postmanの左側の「Environment」を選択するか、右上の「Quick」からでも作成及編集ができます。
Collection変数の定義
Collection変数の定義は左のCollectionサイドバーのCollectionを選択し、「Variables」タブを選択するとそこから追加及編集ができます。
Scriptによる定義
Postmanでは色んなスクリプトを提供しています。その中で環境変数についての簡単にみてみます。
Global変数
Global変数は以下の要素を利用します。
pm.globals
Collection変数
Collection変数は以下の要素を利用します。
pm. collectionVariables
Environment変数
Environment変数は以下の要素を利用します。
pm. environment
上記の三種類の要素は「get」、「set」、「has」、「clear」等のメソードを提供しています。
使い方
今からやろうとしているのはAPIログインしてresponseで帰ってきたAccess Tokenを他のAPIに利用する方法を簡単に説明させて頂きます。
変数設定
先ずはログインAPIのテストタブを開いて以下のソースを入れます。Json形式のレスポンスのtoken要素の値をCollection変数「ACCESS_TOKEN」に格納する内容です。
let json = JSON.parse(responseBody); pm. collectionVariables.set("ACCESS_TOKEN", json.token);
- responseBody:APIの実行結果が格納される変数
ここでGlobal変数ではなくてCollection変数を使う理由は同じCollectionのみ使うことで他のCollectionと混乱しないようにするためです。
使用方法
以下のようにCollection変数に設定された「ACCESS_TOKEN」をパラメーターやヘッダー、リクエストBody等に入れて認証情報を自動に設定できます。
雑談
因みに「postman.collectionVariables」のいう物もありますが、提供するメソッドや使い方に差がありますので気をつけてください。!!
Postmanは無料でも使える便利な機能が多くて、未だに全機能を使いこなしてないです。いつも感謝の気持ちです。