轉載:postman自動設置token(csrf及authorization token)

原文連接:

https://knktc.com/2018/06/03/postman-set-token/json

 

正文引用:

近期在開發一個Django的項目,因爲開啓了csrf防禦,因此須要在請求的header中加入「X-CSRFToken」。使用postman進行請求的測試時,若是不加這個header,則會返回403錯誤。cookie

Django項目的csrftoken通常在登陸的時候會設置到cookie中,本文描述瞭如何使用postman自動獲取cookie中的csrftoken,並將該值自動設置到後續請求的header中。post

爲了自動化地設置這個token,咱們須要使用postman的「Tests」功能。Postman的「Tests」功能支持使用JS進行一些變量操做。咱們能夠在登陸接口的請求中填入以下的Tests腳本:測試

1
2
3
var csrf_token = postman.getResponseCookie("csrftoken").value
postman.clearGlobalVariable("csrftoken");
postman.setGlobalVariable("csrftoken", csrf_token);

腳本編寫後內容入下圖所示:spa

設置Tests腳本

該腳本將登陸後設置的csrftoken這個cookie的值獲取到,並設置爲一個postman的全局環境變量(csrftoken),此時點擊postman界面右上角眼睛同樣的圖標能夠直接查看到這個全局的變量:code

查看全局變量

此時能夠在後續的請求中設置「X-CSRFToken」這個header,值就是剛纔設置好的全局變量,使用「」便可完成引用:csrf

設置header

此後每次從新登陸,該變量值就會從新進行設置,使得系統API的自動化測試能夠順利進行。token

在實際開發中,咱們有時候還會使用token進行認證,認證用的token也能夠經過相似的方式來進行設置,只是獲取token的方式是從返回的json中來獲取,下圖是一個設置認證頭的示例,:接口

1
2
3
var token = JSON.parse(responseBody).token;
postman.clearGlobalVariable("token");
postman.setGlobalVariable("token", token);

界面設置效果以下:開發

設置認證header

相關文章
相關標籤/搜索