涉及三个问题
1、加密要引入自定义的加密函数
2、要可以拿到第一次http的响应
3、第二次http请求前,要动态构建参数
1、 引入加密函数和fastjson
2、在beanShell里拿上一次请求的响应
在第一个请求里 添加,后置处理器
建一个BeanShell Post Processor
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; //拿到响应值 String json = prev.getResponseDataAsString(); log.info("json="+json); JSONObject obj = JSON.parseObject(json); String dlapp = obj.getString("dlapp"); log.info("dlapp="+dlapp); String ret = obj.getString("ret"); log.info("ret="+ret); String capFlag = obj.getString("capFlag"); log.info("capFlag="+capFlag); //解析后放到变量里 vars.put("dlapp",dlapp); vars.put("capFlag",capFlag); vars.put("ret",ret);
3、第二次http请求前,要动态构建参数
第二次http请求时,请求的参数值使用jmeter变量
如
sign=${sign}
添加,前置处理器
建一个BeanShell PreProcessor
调用加密函数进行加密后,放入变量里
String capFlag = vars.get("capFlag"); String dlapp= vars.get("dlapp"); String ret= vars.get("ret"); log.info("dlapp="+dlapp); log.info("capFlag="+capFlag); log.info("ret="+ret); vars.put("dlapp",dlapp); vars.put("capFlag",capFlag); vars.put("ret",ret);
查看jmeter log日志