變量的使用場(chǎng)景
Postman的變量主要用于參數(shù)化和關(guān)聯(lián)
- 應(yīng)用1: 常用變量可以按使用范圍設(shè)置成集合或全局變量
-
應(yīng)用2: 一套接口要在不同的環(huán)境上測(cè)試時(shí), 可以新建兩個(gè)環(huán)境,比如
test
環(huán)境和stage
環(huán)境, 兩個(gè)環(huán)境中添加base_url
變量并設(shè)置不同的值, 請(qǐng)求中接口的url中使用{{base_url}}
, 這樣只需在Postman中切換環(huán)境就可以測(cè)試不同的環(huán)境
切換環(huán)境 -
應(yīng)用3: 接口依賴, 由于Postman的請(qǐng)求是只讀的, 我們?cè)赑re-request Script腳本中不能修改已設(shè)置好的請(qǐng)求, 這時(shí)我一般通過(guò)腳本將所需變量設(shè)置為集合/全局/環(huán)境變量, 然后在請(qǐng)求中使用
{{變量名}}
讀取變量即可
通過(guò)腳本設(shè)置環(huán)境變量進(jìn)行參數(shù)化
變量設(shè)置
Postman中有三種變量:
-
Collection變量(對(duì)該集合及子文件夾下所有請(qǐng)求生效), 在新建/編輯Collection->Variables中可以添加
集合中的變量設(shè)置 -
全局變量(對(duì)所有請(qǐng)求生效), 在環(huán)境管理->Globals中添加
點(diǎn)擊齒輪圖標(biāo)進(jìn)入環(huán)境管理頁(yè)面
環(huán)境管理頁(yè)面點(diǎn)擊Globals
全局變量設(shè)置 -
環(huán)境變量(當(dāng)選擇了該環(huán)境時(shí)生效), 在環(huán)境管理頁(yè)面點(diǎn)擊Add添加或點(diǎn)擊已存在的環(huán)境名稱進(jìn)入環(huán)境變量設(shè)置
環(huán)境變量設(shè)置
- VARIAVLE: 變量名
- INITIAL VALUE: 共享初始值, 用于團(tuán)隊(duì)共享時(shí)供別人使用的默認(rèn)值
- CURRENT VALUE: 當(dāng)前值, 自己當(dāng)前使用的變量值(一般我們只用設(shè)置這個(gè)值即可)
- Perisit All: 保持所有, 將當(dāng)前自己使用的值(CURRENT VALUE)替換所有的初始值
- Reset All: 重置所有, 將當(dāng)前所有的CURRENT VALUE重置為與當(dāng)前初始值一樣
變量的使用
- 請(qǐng)求url,params參數(shù)或body表格或JSON/XML文本中通過(guò)
{{變量名}}
使用
在URL或參數(shù)表格中使用
在Body中使用 - 在Pre-request Script和Tests腳本中使用
在腳本中需要通過(guò)以下語(yǔ)句使用
var v_a = pm.variables.get("a"); // 獲取項(xiàng)目變量
var g_a = pm.globals.get("a"); // 獲取全局變量
var e_a = pm.environment.get("a"); // 獲取環(huán)境變量
pm.variables.set("a", "c3"); //設(shè)置集合變量
pm.globals.set("a", "g3"); // 設(shè)置全局變量
pm.environment.set("a", "e3"); //設(shè)置環(huán)境變量
使用環(huán)境變量時(shí)注意要選擇對(duì)應(yīng)環(huán)境
變量?jī)?yōu)先級(jí)
當(dāng)變量重名時(shí), 優(yōu)先級(jí)為:
環(huán)境變量>Collection變量>全局變量(Globals)
更多學(xué)習(xí)資料請(qǐng)加添加作者微信:lockingfree獲取