Jmeter BeanShell调用Java方法加密

1、添加BeanShell前置处理器

由于请求接口时,会传加密参数。加密过程会在请求之前完成,所以需要使用前置处理器中beanshell preprocessor

2、编写BeanShell脚本

①定义一个beashell变量:phoneNum,在Beanshell中可以直接调用Jmeter中的内置函数

复制代码
String phoneNum = "1878294${__Random(1000,9999,num)}";

②定义一个beashell变量:phoneNum

复制代码
phoneNumString optCode = "testfan";

③定义一个beashell变量:timestamp

复制代码
String timestamp = "${__time(,curtime)}";

④定义一个beashell变量:data,用于接收拼接后的数据

复制代码
String data = phoneNum + optCode + timestamp;log.info(data);

⑤引入外部Java源代码存放路径

复制代码
source("F:/md5/Md5Util.java");

⑥通过类名和函数名,直接调用MD5方法,对拼接后的数据进行加密

复制代码
String md5Data = Md5Util.getMd5Hex(data);log.info(md5Data);

⑦将beanshell变量转为成Jmeter变量

复制代码
vars.put("sgin",md5Data)

注意:beanshell变量和Jmeter变量不要混用,脚本后面加。

3、执行脚本

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
过期动态2 小时前
【LeetCode 热题 100】字母异位分组
java·算法·leetcode·职场和发展·哈希算法
辰海Coding2 小时前
MiniSpring框架学习-为什么一个请求访问 /helloworld,最后能调用到某个 Controller 方法?原始 MVC实现
java·学习·程序人生·spring·mvc
星轨zb3 小时前
JUC 到 Redis 分布式锁:一次关于高并发的性能压测实验
java·redis·分布式·jmeter
秦明月135 小时前
电气安全回路设计实战:皮尔兹安全继电器应用
经验分享·笔记·安全·职场和发展·创业创新·学习方法
摇滚侠6 小时前
HashMap 源码解析 底层原理 面试如何回答
java·面试·职场和发展
凯瑟琳.奥古斯特6 小时前
常见加密算法及应用
java·开发语言·网络·网络协议·职场和发展
ychqsq9 小时前
32.夏日访客
经验分享·职场和发展
凯瑟琳.奥古斯特9 小时前
原码与补码乘法符号位处理差异
java·开发语言·职场和发展
菜菜的顾清寒9 小时前
力扣HOT100(28)两数相加
算法·leetcode·职场和发展
我爱cope9 小时前
【Agent智能体3 | 智能体AI的优势】
人工智能·职场和发展