7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

もっと!Postmanを使いこなす

Posted at

Postmanを使ってHTTPに送ったデータを確認するの続き。

Postanのさらに便利な機能
・環境設定
・認証トークンの設定

について。

##Postmanでテストする環境を設定する
https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_595580_a5fca287-a852-176f-3618-ae0b381a9f71.png

PostmanでAPIをテストする際には、リクエストを送りたいURLをバーに入力している。

しかし、ローカル環境でのAPIのURLと、HerokuなどにデプロイしたあとのAPIのURLは異なる。

APIが動く環境が変わっても、テストファイルを新しく作り直さずにテストしたい!

※)上記の場合
「localhost:3000/users/」
をテストしているが、これはHerokuにデプロイしたあとだと
「 https://〜.herokuapp.com/users/」
に変わるはず

環境設定
・歯車マークのところから環境を設定
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3539353538302f65316239343735662d373736392d393537642d313963632d6335323833386233373234662e706e67.png
・Merge Environmentが開くので、そこへ環境をAdd
スクリーンショット 2020-07-30 20.25.24.png

・Environment Name: ローカル環境なら、「アプリ名(dev)」とつけておけばわかりやすい
(※本番環境なら「アプリ名(prod)」)

・VARIABLE:設定した環境を呼び出すキーワード
例)urlを設定したいなら「url」

・INIIAL VALUE:設定する環境の値
例)「アプリ名(dev)」の環境で用いる「url」が「localhost:3000」ならそれを入力

Addする

・VALUABLEをテストに設定
スクリーンショット 2020-07-30 20.31.28.png

・ドロップダウンリストより、作成した環境を選択
バーに入力している、リクエストを送りたいURLを変更。

「localhost:3000」の箇所を「{{url}}」に置き換える。

「url」というVARIABLEの中に「localhost:3000」という値を保存しているため、「{{url}}/users」は「localhost:3000/users」と同じように認識される

##HerokuにデプロイしたアプリをPostmanからテストする
Heroku用の環境を用意する。

・歯車マークのところから環境を設定
スクリーンショット 2020-07-19 11.06.19.png

・「VARIABLE」に「url」、「CURRENT VALUE」にHerokuにデプロイしたアプリのURLから、最後の「/」を抜いたものを設定し「ADD」

スクリーンショット 2020-07-19 11.05.25.png

・Postmanの環境を、作成した環境名にセット

スクリーンショット 2020-07-19 11.02.34.png


PostmanからHerokuアプリにリクエストを送ることができるようになった!

##認証トークンを設定する

・テストしたいアプリにトークンを用いた認証が行われている場合
スクリーンショット 2020-07-30 20.44.38.png

「Authorization」タブより、PostmanがHTTPにリクエストを送る時のヘッダーに認証トークンを設定する。

・TYPEを「Bearer Token」に設定
・Token欄に認証Tokenを入力

※ただし、この場合、一つのTokenしか設定できない

##環境としてTokenを設定する

・アプリのテストを行う全てのリクエストからTokenを読み出せるようにする
スクリーンショット 2020-07-30 21.46.01.png

・Edit Folderより設定

スクリーンショット 2020-07-30 21.48.50.png

(※画像のTYPEは無視)
・TYPEを「Inherit auth from parent」に選択
・Token欄にトークンを入力

設定

・リクエスト側からトークンを読み出す
スクリーンショット 2020-07-30 21.56.56.png

AuthorizationのTYPEに「Inherit from parent」を設定

##テストコードからTokenの値を自動設定する

「トークンが作られるイベントをPostmanで実行」
→「作られたJSONトークンをPostmanが取得」
→「取得したトークンを、全てのリクエストから呼び出せるトークンとして設定」

の流れを自動的に行うよう設定する。

・「Pre-request Script」「Tests」の項目について
.「Pre-request Script」:Postmanからリクエストを送る前に実行するコード ・「Tests」:Postmanからリクエストを送った後にリクエストするコード


今回は、リクエスト後に、レスポンシとして送られてくるtokenを取得、設定する

「Tests」にコードを書く

・「Tests」の設定
スクリーンショット 2020-07-30 22.04.17.png
if (pm.response.code === 200){  //pmはpostmanの値を取得する変数
    pm.environment.set('authToken', pm.response.json().token)
} //'authToken'変数にJSONトークンを設定

・'authToken'変数の設定
スクリーンショット 2020-07-30 21.46.01.png スクリーンショット 2020-07-30 22.14.04.png

「Edit Folder」より設定

・TYPEを「Bearer Token」に選択
・Token欄に「{{authToken}}」と入力
→authToken変数の設定

authToken変数を、全てのリクエストから呼び出せるトークンとして設定

・リクエスト側からトークンを読み出す
スクリーンショット 2020-07-30 22.17.38.png

・AuthorizationのTYPEに「Bearer Token」を設定
・Tokenに「{{authToken}}」を設定

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?