JMeter 获取 response body 的数据
JMeter 获取 response body 的数据
位置:右键(HTTP Request) - Add - Post Processors - BeanShell PostProcessor

import net.minidev.json.JSONObject; import net.minidev.json.JSONValue; import net.minidev.json.JSONArray; import java.util.ArrayList; import java.util.Random; jsonStr = prev.getResponseDataAsString(); JSONObject jsonobj = (JSONObject) JSONValue.parse(jsonStr); if (jsonobj.get("respCode") == 0) { JSONArray data = (JSONArray) jsonobj.get("data"); for (int i = 0; i < data.size(); i++) { JSONObject object = (JSONObject) data.get(i); loginName = vars.get("loginName"); if (loginName.equals(object.get("loginName"))) { vars.put("userId", String.valueOf(object.get("userId"))); } } }
特别注意:使用 vars.get("name") 获取到的数据都是 String 类型;
如果不确定类型,都可以通过 Long.valueOf() , String.valueOf() 等进行转换;
如果是值比较,建议先在所属编码的编辑器中写好,再贴到 Jmeter Script 中。
如果使用 JSON Extractor 直接获取到的数据,在通过 ${num} 使用,则会是数据的原始类型;如:${num} == 1 ,这个是可行的。
位置:右键(HTTP Request) - Add - Post Processors - JSON Extractor


浙公网安备 33010602011771号