在使用 jmeter 进行测试时,需要对上一步响应的明文参数,如 userName='tom'
token='%sdf%sdkdfj'之类的参数,加密一下,才能进行下一步 http 请求,
涉及三个问题
1、加密要引入自定义的加密函数
2、要可以拿到第一次 http 的响应
3、第二次 http 请求前,要动态构建参数
1、引入加密函数
2、在 beanShell 里拿上一次请求的响应
在第一个请求里 添加,后置处理器
建一个 BeanShell Post Processor
//拿到响应值
String json = prev.getResponseDataAsString();
//解析后放到变量里
vars.put("userName",userName);
vars.put("token",token);
3、第二次 http 请求前,要动态构建参数
第二次 http 请求时,请求的参数值使用 jmeter 变量
如
sign=${sign}
添加,前置处理器
建一个 BeanShell PreProcessor
调用加密函数进行加密后,放入变量里
String userName = vars.get("userName");
String token= vars.get("token");
String sign=encrypt(userName,token);
log.info("sign="+sign);
vars.put("sign",sign);
查看 jmeter log 日志
评论0
最新资源