(二)jmeter beanShell jar调用

本文介绍了如何在JMeter中使用BeanShell脚本调用MD5加密jar文件,以简化接口自测过程。通过配置jar路径、编写BeanShell代码,并在请求中引入加密后的变量,实现了自动化加密参数,解决了接口测试中手动加密的繁琐步骤。同时,文章还提到了遇到中文字符时的MD5加密问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1、 背景 开发人员自测接口的时候一些繁琐

       当你为了安全性给自己的接口添加了一个加密算法的参数,搞到最后发现作为开发人员的自己,要自己先自测自己的接口时,感觉有些些许的繁琐,不然就暂时把加密的部分去掉测试,又或者加密的方式自己每次都要手动的生成一个,但jmeter很好的解决了我们这个问题。

例如我的接口中

master入参中是传递参数sign sign 是md5动态生成,


2、 配置jar路径


3、 jar调用方法

3.1、 添加beanShell控件



3.2、BeanShell 中添加代码

import org.apache.commons.codec.digest.DigestUtils;

String bindParams = vars.get("bindParams");
String custId = vars.get("custId");
String orderNo = vars.get("orderNo");
String timestamp = vars.get("timestamp");

String signStr = "bindParams=" + bindParams + "&custId="+ custId + "&orderNo=" + orderNo + "&tamp="+ timestamp + "&key=&&&&&&&&";

public static String getSign(String signStr){
	 //调用外部jar包中的类进行加密

	vars.put("sign",DigestUtils.md5Hex(signStr));//把值保存到jmeter变量checkSum中
}

getSign(signStr);


4、 请求

在benShell同目录下,建立一个java请求,引入变量sign(上述代码中,vars.put("sign",DigestUtils.md5Hex(signStr)))



5 疑问,当md5中有中文的时候会出现问题


5.1 中文的时候可能md5 加密失败,但在intellij中和eclipse中可以。(解决方法,content encoding UTF-8 ,修改配置文件,修改jar中的代码)



修改md5jar 中的java代码,添加上编码:str.getBytes("UTF-8")



这样请求中的md5参数就自动为我们添加上了,自测的时候也省去了自己要先用main函数加密,然后再拼接参数请求自己的接口了,这个工具果然强大。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值