1器联、Postman中處理數(shù)據(jù)依賴
- 方式1:設(shè)置環(huán)境變量
Postman特定接口Test中添加代碼:
var jsonData=JSON.parse(responseBody); //獲取所有body中返回參數(shù)
// var jsonData=pm.response.json(); //或者使用該方法獲取json格式
var data= jsonData.data.log_id; //獲取其中data的log_id (jsonData是json格式)
pm.environment.set("data",data); //設(shè)置環(huán)境變量data
console.log(jsonData); //console即控制臺打印
后置接口中通過{{data}} 來獲取環(huán)境變量
- 方式2:設(shè)置變量/全局或
后置接口或后置collection
中的Pre-request Script
中獲取變量
// 設(shè)置變量
pm.environment.set("variable_key", "variable_value");
pm.globals.set("variable_key", "variable_value");
pm.variables.set("variable_key", "variable_value");
pm.collectionVariables.set("variable_key", "variable_value");
// 獲取變量
pm.environment.get("variable_key"); //環(huán)境變量
pm.globals.get("variable_key"); //全局變量
var variable=pm.variables.get("variable_key"); //局部變量
console.log(variable)
pm.collectionVariables.get("variable_key"); //collection變量
// 變量清除
pm.environment.unset("variable_key");
pm.globals.unset("variable_key");
pm.collectionVariables.unset("variable_key");
pm.variables.unset("variable_key"); //局部變量
2婿崭、JMeter 中處理數(shù)據(jù)依賴
step1:使用后置處理器,獲取接口返回數(shù)據(jù)
- JSON提取器
例如:
{
"errno": 0,
"errmsg": "ok", "IsPrint": False,
"data": {
"log_id": "2227684114",
"action_rule":
{
"pos_1":[],
"pos_2":[],
"pos_3":[]
}
}
}
$
表示跟元素渣磷,然后一級級往下去找授瘦,先找到data
,再往下結(jié)點找到log_id
,如$.data.log_id
=>多個變量使用;
分割
調(diào)試取樣器查看Json提取器設(shè)置的變量
- XPath提取器
- 正則表達式提取器
參考:[搬運工系列]-JMeter(六)關(guān)聯(lián)-(上下接口參數(shù)傳遞)
step2: ${變量名}
引用
=> ${變量名(Json提取器中命名的)}
來獲取該值
3提完、自動化框架
way1:用例執(zhí)行先后順序,前置sql查詢獲取
way2:pytest的setup_class,或unittest的setUp
way3:前置SQL構(gòu)造數(shù)據(jù)