BeanShell 的使用

在jmeter中可以使用beanshell语言,来对请求报文或者结果进行一些处理,入下面是需要对。

import com.cnn.electronic.invoice.util.SecurityUtil;
import com.cnn.base.common.lang.DESedeEncrypt;
String requestBody = "{'tradeNo':'T-40ec63a8d1d74a1cbe1f776e64559ee1','buyerBankAccount':'','buyerEMail':'tanyuefa@qianbao.com','remark':'remark','buyerName':'张三','deductions':'deductions','currentTime':'"+ System.currentTimeMillis() +"','totalAmount':'0.1','businessNo':'510404','buyerPhone':'15810165793','buyerAddAndPhone':'','buyerIdentificationNo':'','detailList':'','businessMerchantNo':'890000000012312','busOrderNum':'"+UUID.randomUUID().toString()+"'}";
String encBody = requestBody;
encBody = SecurityUtil.encrypt("ZWQ1N2M2ZTctNDdkMi00Nzk0LWE5ZmQtODM1ZDVmZjMwYTFh",requestBody);
vars.put("encBody",encBody);

然后可以在 html请求中,把 ${encBody} 写到 postBody中,即可以每次自动生成需要的报文,并加密处理。

另外对后置处理关键点:

prev.getResponseDataAsString();   用于获取http响应报文。

prev.setResponseData(x);   用于篡改响应报文.

 

另外,关于导入jar。 我测试时发现导入jar 到“测试计划”面板的最下面,但是发现无效(报告找不到类),后来又将相应的jar 放到 jmeter 的lib/ext 下。依然无效。然后保存重启jmeter之后,生效了。

另外,如果需要捕获异常打印日志,不能catch Exception ,必须catch Throwable  才有效。(这点可能是对于找不到类的情况)

由于时间关系,不进行细细测试反推。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值