记录下近期在引用自定义 Jar 包时遇到的坑,仅供其他遇到相同问题的小伙伴参考,快速解决问题
被测试http服务需要根据request_body生成数字签名,发送给服务器作为身份验证使用
直接把数字签名部分逻辑实现粘贴在每个http请求脚本的BeanShell PreProcessor中,较为冗余
直接把数字签名部分逻辑实现封装成jar包形式,引用到jmeter中,减少冗余,容易维护
1.在 idea 中将加数字签名部分代码调试通过且能调用成功,将代码带包为 jar 包 (注意打出的 jar 包中不包含 pom 文件中的依赖包)
2.将 jar 包放到 jmeter 安装目录下的 lib 中 (注意要将数字签名代码 pom 文件中的所有依赖包都引入)
3.将 jar 包引入到 jmeter 测试计划中
4.在 BeanShell PreProcessor 中调用数字签名函数 (需要加上 jmeter 的 try catch,否则 jemter 会报一些特别诡异的错误信息,误导我们发现不了真正的问题所在)。加 try catch 参考链接:https://stackoverflow.com/questions/39677810/jmeter-typed-variable-declaration-method-invocation