postman測試接口時,每次都需要獲取token以后,復制到接口里,特別復雜。
這里通過把獲取token接口的返回數據添加到環境變量,然后將環境變量名設置在其他接口的token中,獲取一次token,所有接口的token值都會跟着改變
一、輸入代碼
Token接口的test輸入代碼,提取access_token
var jsonData = JSON.parse(responseBody);//將內容轉換為json字符串
if (jsonData.access_token){
tests["body has access_token"] = true;
postman.setEnvironmentVariable("token",jsonData.access_token);
}
else {
tests["body has access_token"] = false;
}
二、配置environment
點擊Postman右上角 的manage environment符號
Postman有environment的概念,在一個環境下,設置的環境變量可通用,並且可以設置多個environment,配置不同的環境變量
三、點擊add,新建一個環境
四、設置參數名,
current value中的內容是第一步提取的參數名,點擊Add或者update保存
五、切換環境
點擊這里,然后選擇剛剛新建的那個環境名稱,切換成設置的環境
六、配置接口的token
在輸入token的地方輸入第四步的參數名{{token}}
七、運行token接口,然后回到剛剛的接口
鼠標放到token這里,能看到token有個值了。說明成功賦值了
八、點擊右上角的小眼睛符號(environment quick look)
能查看當前環境的全局變量和環境變量的當前value
附:json表達式
可能不懂里面的那個jsonData.access_token,下面用一個例子來介紹:
假如responseBody為下面一串字符串:
{
"data":
{
"employees": [
{
"firstName": "Bill",
"lastName": "Gates"
},
{
"firstName": "George",
"lastName": "Bush"
},
{
"firstName": "Thomas",
"lastName": "Carter"
}
]
}
}
其中employees是一個數組,需要用[]
來遍歷位置。
如果我要獲取第一個員工的`firstName,postman中就這樣寫:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("firstname0",jsonData.data.employees[0].firstName);