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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

相关推荐
玄斎9 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
沐雪架构师10 小时前
大模型Agent面试精选15题(第四辑)-Agent与RAG(检索增强生成)结合的高频面试题
面试·职场和发展
YoungHong199210 小时前
面试经典150题[072]:从前序与中序遍历序列构造二叉树(LeetCode 105)
leetcode·面试·职场和发展
CeshirenTester11 小时前
Playwright元素定位详解:8种定位策略实战指南
人工智能·功能测试·程序人生·单元测试·自动化
毅硕科技17 小时前
毅硕HPC | NVIDIA DGX Spark 万字硬核评测:将AI超级工厂带上桌面
功能测试·spark·hpc
patrickpdx19 小时前
leetcode:相等的有理数
算法·leetcode·职场和发展
hn小菜鸡19 小时前
LeetCode 1971.寻找图中是否存在路径
算法·leetcode·职场和发展
测试老哥20 小时前
UI自动化测试—Jenkins配置优化
自动化测试·软件测试·python·测试工具·ui·jenkins·测试用例
Swift社区21 小时前
LeetCode 450 - 删除二叉搜索树中的节点
算法·leetcode·职场和发展
测试老哥21 小时前
2026软件测试面试大全(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例