前言
上個(gè)接口返回token,下個(gè)接口需在請(qǐng)求頭部傳token是掰,這就是我們經(jīng)常說的參數(shù)關(guān)聯(lián)虑鼎。
postman 如何實(shí)現(xiàn)參數(shù)關(guān)聯(lián)呢?可以在Tests 腳本中自定義變量键痛。
查詢個(gè)人信息接口
需用戶先登錄炫彩,返回token
{
"code": 0,
"msg": "login success!",
"username": "test",
"token": "ce5087209dd8abca2e93e8457252056243c0aded"
}
查詢個(gè)人信息接口請(qǐng)求示例
GET http://localhost:8201/api/v1/userinfo HTTP/1.1
Content-Length: 0
Authorization: Token 2439b83901810851e273b494c29df357cbe2ed92
Tests 腳本中自定義變量
打開登錄接口,在 Tests 區(qū)域?qū)?javascript 腳本解析返回的response對(duì)象絮短,從json里面提取token并設(shè)置為環(huán)境變量
// reponse解析json
jsonData = pm.response.json();
// 設(shè)置為環(huán)境變量
pm.environment.set("token", jsonData.token);
運(yùn)行后點(diǎn)開眼睛按鈕江兢,會(huì)發(fā)現(xiàn)環(huán)境變量里面新增一個(gè)token的變量
token變量沒初始值(INITIAL VALUE),但是會(huì)有當(dāng)前值(CURRENT VALUE)
引用變量
引用變量: {{token}}
先執(zhí)行登錄接口后獲取到token丁频,再執(zhí)行查詢接口就可以查詢成功了
其它變量設(shè)置
使用pm.globals來定義一個(gè)全局變量:
pm.globals.set("variable_key", "variable_value");
使用pm.collectionVariables定義集合變量:
pm.collectionVariables.set("variable_key", "variable_value");
使用pm.environment定義的環(huán)境變量(在當(dāng)前選擇的環(huán)境):
pm.environment.set("variable_key", "variable_value");
可以u(píng)nset用來刪除變量:
pm.environment.unset("variable_key");
部變量是您使用以下語法在請(qǐng)求腳本中設(shè)置的臨時(shí)值:
pm.variables.set("variable_key", "variable_value");
局部變量不會(huì)在會(huì)話之間持久存在杉允,但是允許您在執(zhí)行請(qǐng)求或收集/監(jiān)視運(yùn)行期間臨時(shí)覆蓋所有其他作用域邑贴。
例如,如果您需要為本地運(yùn)行的單個(gè)請(qǐng)求或集合處理臨時(shí)測(cè)試值叔磷,并且不希望該值與您的團(tuán)隊(duì)同步或在請(qǐng)求/集合完成運(yùn)行后仍然可用拢驾,則可以使用局部變量。
在腳本中使用變量
可以使用表示范圍級(jí)別和.get方法的對(duì)象在腳本中檢索變量的當(dāng)前值:
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
//access a variable at any scope including local
pm.variables.get("variable_key");
//access a global variable
pm.globals.get("variable_key");
//access a collection variable
pm.collectionVariables.get("variable_key");
//access an environment variable
pm.environment.get("variable_key");
使用pm.variables.get()在腳本中訪問變量提供更改變量的作用域改基,而不會(huì)影響你的腳本功能的選項(xiàng)繁疤。此方法將返回當(dāng)前優(yōu)先級(jí)最高(或范圍最窄)的任何變量。
訪問變量
您可以在Postman用戶界面中使用雙花括號(hào)來引用變量秕狰。例如嵌洼,要在請(qǐng)求身份驗(yàn)證設(shè)置中引用名為“用戶名”的變量,可以使用以下語法封恰,在名稱周圍使用雙花括號(hào):
{{username}}
運(yùn)行請(qǐng)求時(shí),郵遞員將解析該變量并將其替換為其當(dāng)前值褐啡。例如诺舔,您可能有一個(gè)請(qǐng)求URL引用一個(gè)變量,如下所示:
http://pricey-trilby.glitch.me/customer?id={{cust_id}}
cust_id請(qǐng)求運(yùn)行時(shí)备畦,郵遞員將發(fā)送您當(dāng)前為該變量存儲(chǔ)的任何值低飒。如果cust_id當(dāng)前為3,則請(qǐng)求將被發(fā)送到以下包含查詢參數(shù)的URL:
http://pricey-trilby.glitch.me/customer?id=3
或者懂盐,您可以具有一個(gè)請(qǐng)求body褥赊,該請(qǐng)求body通過將變量的引用括在雙引號(hào)中來訪問變量:
{ "customer_id" : "{{cust_id}}" }
您可以在請(qǐng)求URL,參數(shù)莉恼,標(biāo)頭拌喉,授權(quán),正文和標(biāo)頭預(yù)設(shè)中使用變量俐银。
關(guān)于變量更多語法參考官方文檔https://learning.postman.com/docs/sending-requests/variables/
作者-上海悠悠 blog地址 https://www.cnblogs.com/yoyoketang/