Quantcast
Channel: Postmanタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 470

もっと!Postmanを使いこなす

$
0
0

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}}」を設定


Viewing all articles
Browse latest Browse all 470

Trending Articles