postman使用教程5-Test腳本中自定義變量(參數關聯 提取 token 和引用 token )


前言

上個接口返回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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM