Postman高階用法(2)
阿新 • • 發佈:2021-06-21
1.Postman設定環境變數
1.1環境變數與全域性變數
全域性變數:作用範圍是針對postman下面所有測試集均生效
環境變數:①只對選擇了對應環境變數的測試集生效
②環境一般分為開發環境,測試環境,生產/線上環境(部分公司可能在測試與生產環境之間存在預生產環境)
③一套環境中變數不能重複,但是可以定義多個不重複的變數
1.2手動設定全域性變數與環境變數
(1).全域性變數
(2).環境變數
1.3程式碼設定全域性變數與環境變數
# 在Tests中編寫如下程式碼實現變數的設定, 需要傳送請求 # (1).全域性變數的設定 pm.globals.set("variable_key", "variable_value"); # (2).環境變數的設定 pm.environment.set("variable_key", "variable_value"); # 注意: 通過程式碼實現環境變數的新增, 需要先選中⼀個環境, 才能設定成功.
1.4變數的使用
⽆論在URL中, 還是在請求頭中, 或是在請求體中都可以使⽤{{variable}}的⽅式使⽤變數, 但需要注意的
是請求體中傳遞JSON資料⼀般我們會給實際的值加引號, ⽐如⼀個字串. 但在使⽤變數時, 不要給
{{variable}}新增引號, 否則postman會將“{{variable}}”當做⼀個字串.
// 獲取全域性變數
var value = pm.globals.get("var_name");
// 獲取環境變數
var value = pm.environment.get("var_name");
2.介面關聯
2.1介面關聯
當請求之間有依賴關係, ⽐如⼀個請求的⼊參是另⼀個請求返回的資料, 這時候需要⽤到關聯處理.
2.2介面關聯的思路
要獲取某個請求的響應結果, 可以通過在Tests標籤⻚中編寫JavaScript指令碼來實現
// 獲取json格式的響應資料
var jsonData = pm.response.json();
多個請求之間可以使⽤全域性變數或環境變數來傳遞資料
// 把資料儲存到全域性變數中
pm.globals.set("token", token)
獲取某個全域性變數的值
// ⾮程式碼形式獲取:
{{variable}}
// 程式碼形式獲取:
pm.globals.get("variablename")
2.3介面關聯案例
(1).請求獲取天⽓的接⼝,http://www.weather.com.cn/data/sk/101010100.html
(2).獲取返回結果中的城市名稱
(3).調⽤百度搜索接⼝: http://www.baidu.com/s?wd=北京 ,把獲取到的城市名稱作為請求引數
// 實現思路
(1).postman訪問天⽓接⼝, 在Tests中編寫指令碼:
- 先獲取接⼝的響應資料, 轉化為json資料格式
- 從json資料中取出city的值
- 將city的值設定為全域性變數
(2).訪問百度查詢接⼝, 將關鍵詞設定為上⼀個請求新增的環境變數的值
// 指令碼
var jsonData = pm.response.json();
var city = jsonData.weatherinfo.city;
console.log("city為: + city);
pm.globals.set("city", city);
// 百度查詢URL
http://www.baidu.com/s?wd={{city}}
3.批量執行測試用例
要想批量執⾏測試⽤例,需要先把接⼝請求新增到測試集中,通過運⾏測試集的⽅式就可以實現批量運
⾏測試⽤例。
// 實現:
(1).建立測試集
(2).在測試⼏種新增接⼝請求
(3).運⾏測試集(實現測試集中多接⼝⽤例批量執⾏)