前言
上個接口返回token,下個接口需在請求頭部傳token,這就是我們經常說的參數關聯。
postman 如何實現參數關聯呢?可以在Tests 腳本中自定義變量。
查詢個人信息接口
需用戶先登錄,返回token
{
"code": 0,
"msg": "login success!",
"username": "test",
"token": "ce5087209dd8abca2e93e8457252056243c0aded"
}
查詢個人信息接口請求示例
GET http://localhost:8201/api/v1/userinfo HTTP/1.1
Content-Length: 0
Authorization: Token 2439b83901810851e273b494c29df357cbe2ed92
Tests 腳本中自定義變量
打開登錄接口,在 Tests 區域寫 javascript 腳本解析返回的response對象,從json里面提取token並設置為環境變量
// reponse解析json
jsonData = pm.response.json();
// 設置為環境變量
pm.environment.set("token", jsonData.token);
運行后點開眼睛按鈕,會發現環境變量里面新增一個token的變量
token變量沒初始值(INITIAL VALUE),但是會有當前值(CURRENT VALUE)
引用變量
引用變量: {{token}}
先執行登錄接口后獲取到token,再執行查詢接口就可以查詢成功了
其它變量設置
使用pm.globals來定義一個全局變量:
pm.globals.set("variable_key", "variable_value");
使用pm.collectionVariables定義集合變量:
pm.collectionVariables.set("variable_key", "variable_value");
使用pm.environment定義的環境變量(在當前選擇的環境):
pm.environment.set("variable_key", "variable_value");
可以unset用來刪除變量:
pm.environment.unset("variable_key");
部變量是您使用以下語法在請求腳本中設置的臨時值:
pm.variables.set("variable_key", "variable_value");
局部變量不會在會話之間持久存在,但是允許您在執行請求或收集/監視運行期間臨時覆蓋所有其他作用域。
例如,如果您需要為本地運行的單個請求或集合處理臨時測試值,並且不希望該值與您的團隊同步或在請求/集合完成運行后仍然可用,則可以使用局部變量。
在腳本中使用變量
可以使用表示范圍級別和.get方法的對象在腳本中檢索變量的當前值:
# 作者-上海悠悠 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()在腳本中訪問變量提供更改變量的作用域,而不會影響你的腳本功能的選項。此方法將返回當前優先級最高(或范圍最窄)的任何變量。
訪問變量
您可以在Postman用戶界面中使用雙花括號來引用變量。例如,要在請求身份驗證設置中引用名為“用戶名”的變量,可以使用以下語法,在名稱周圍使用雙花括號:
{{username}}
運行請求時,郵遞員將解析該變量並將其替換為其當前值。例如,您可能有一個請求URL引用一個變量,如下所示:
http://pricey-trilby.glitch.me/customer?id={{cust_id}}
cust_id請求運行時,郵遞員將發送您當前為該變量存儲的任何值。如果cust_id當前為3,則請求將被發送到以下包含查詢參數的URL:
http://pricey-trilby.glitch.me/customer?id=3
或者,您可以具有一個請求body,該請求body通過將變量的引用括在雙引號中來訪問變量:
{ "customer_id" : "{{cust_id}}" }
您可以在請求URL,參數,標頭,授權,正文和標頭預設中使用變量。
關於變量更多語法參考官方文檔https://learning.postman.com/docs/sending-requests/variables/
作者-上海悠悠 blog地址 https://www.cnblogs.com/yoyoketang/