1. 程式人生 > >jmeter-beanshell

jmeter-beanshell

1,將上一個請求響應的字串,改成下一個請求的字串

https://www.cnblogs.com/xpp142857/p/7374281.html

 

import org.json.JSONObject;

 

String response_data = prev.getResponseDataAsString(); //獲取請求返回值。注意此處只能獲取到String型別;

log.info(response_data);

 

JSONObject data_obj = new JSONObject(response_data); //將String型別的返回值構造成JSONObject物件,才可使用Java物件的方法對其進行操作;

 

String StrData = data_obj.get("data").toString(); //獲取作為下一個請求post的引數值data;

log.info(StrData); //Log中顯示的欄位順序會與“response_data”中的欄位順序有差異,JSON串的正確與否無關欄位順序;

 

JSONObject JsonData = new JSONObject(StrData); //將獲取到的“data”字串構造成JSON物件;

 

JsonData.put("issueHandleType", "CLOSE"); //更新issueHandleType的json值;

JsonData.put("solution", "2017_解決方案_效能測試");

JsonData.put("status", "CLOSED");

JsonData.put("handleType", "CLOSE");

JsonData.put("complaintTypeSecondCode", "URGE"); //異常型別;

JsonData.put("complaintTypeSecondName", "催件");

JsonData.put("lastUpdateTime", "${timestamp}");

JsonData.put("lastUpdator", "${UserName}");

JsonData.put("lastUpdatorName", "${UserName}");

 

String NewData = JsonData.toString(); //將JSON物件儲存為String型別,Jmeter中的請求的引數均以字串的形式傳遞;

vars.put("NewStrData",NewData);

log.info(NewData);