JMeter BeanShell 的使用-请求加密-返回自动解密处理

JMeter  BeanShell 的使用

一般rest接口,项目中经常使用类似JMeter( SoapUI 界面看起来没JMete清爽) 来自动测试接口。
最大的好处是JMeter支持java语法的BeanShell脚步语言,处理我们自己的业务逻辑。
下面以rest接口信息加密及加密返回举例说明。一般rest接口经常会要求数据加密传输,此时,我们利用JMeter不做特殊处理,很难自动化测试接口,为了对传输数据的透明化加密/解密,我们需要利用JMeterPre-Processor Elements  Post-Processor Elements 及BeanShell脚本 来对请求数据及返回数据加密和解密。

脚本中依赖的类库需要maven打包,并且 利用mvn dependency:copy-dependencies -DoutputDirectory=D:/lib -DincludeScope=compile 把自定义lib的依赖包copy出来,放到JMeter自定义lib路径下:




BeanShell PreProcessor 中需对请求的数据进行加密思路


Arguments arguments =  sampler.getArguments();
 Argument arg = arguments.getArgument(0);
 arg.setValue("postData");

代码主要是从当期sampler中获取请求参数,对参数进行加密后重写请求参数。

BeanShell PostProcessor 中需对请求响应内容进行解密处理思路
 String response_data = prev.getResponseDataAsString();
 prev.setResponseData("reqDencryptJSON".getBytes("UTF-8"));
   
 代码主要是获取返回内容,加密后重写返回内容。

具体详见demo:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dreamer who

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值