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);