JMeter测试Http请求时,通常需要分析Response数据,并作为下一次Request的参数,可以使用JSON Path处理器或者BeanShell处理器
JSON Path PostProcessor
BeanShell PostProcessor
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.*;
import java.util.*;
try
{
String response_data = prev.getResponseDataAsString();
JSONArray respArray = JSON.parseArray(response_data);
for(Iterator it=respArray.iterator();it.hasNext();)
{
JSONObject obj = (JSONObject)it.next();
String newId = vars.get("instanceId");
String instanceId = (String)obj.get("instanceId");
if(newId.equals(instanceId))
{
String instWorkitemId = (String)obj.get("id");
String instProcessId = (String)obj.get("instProcessId");
String instActivityId = (String)obj.get("instActivityId");
vars.put("instProcessId",instProcessId);
vars.put("instActivityId",instActivityId);
vars.put("instWorkitemId",instWorkitemId);
log.info("2 instProcessId=== "+instProcessId+",instActivityId="+instActivityId+",instWorkitemId="+instWorkitemId);
}
}
}
catch(Exception e)
{
log.info(e.getMessage());
}
//vars.put("result", "1234");
解析JSON需要第三方包fastjson.jar
https://pan.baidu.com/s/1gwN3zN9IBVUa5XRzs-17fQ
将fastjson-1.2.54.jar复制到JMeter/lib/ext目录下
使用提取的变量