jmeter beanShell 修改http请求参数

在使用jmeter进行测试时,需要对上一步响应的明文参数,如userName='tom' token='%sdf%sdkdfj'之类的参数,加密一下,才能进行下一步http请求,
涉及三个问题
1、加密要引入自定义的加密函数
2、要可以拿到第一次http的响应
3、第二次http请求前,要动态构建参数

1、[url="http://powertech.iteye.com/admin/blogs/2174515"]引入加密函数和fastjson[/url]


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日志


[img]http://dl2.iteye.com/upload/attachment/0105/1065/319028ea-bcb9-3ebe-95b4-24cd8c64792b.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值