引用jar包语言使用的都是beanshell
问题起因:metersphere 接口自动化实现过程中,如何实现字符串加密且加密方法依赖第三方库;
使用语言:beanshell脚本语言,java语言
使用工具:idea jmeter metersphere
1.首先根据开发或者网上给出的加密方法方式 写出代码逻辑
这里开发已经提供了sm2加密的jar包
查看代码:
2.将jar包上传到项目设置-文件管理里面
3.查看jar包打开加载jar包开关
4.找对应的接口去进行测试,选择beanshell脚本
import com.example.encryption.DemoApplication; //包名.类名DemoApplication d= new DemoApplication();
String encryptedString = d.encryption("Hello, world!"); //调用方法进行传参
log.info(encryptedString);
接口调试可以查看到加密成功
如果遇到报错Error invoking bsh method和 not found in namespace,可以看下
查看包是否引用第三方依赖,如果有打包的是需要依赖一起打包
pom文件里面配置:
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!--这部分可有可无,加上的话则直接生成可运行jar包--><!--<archive>--><!--<manifest>--><!--<mainClass>${exec.mainClass}</mainClass>--><!--</manifest>--><!--</archive>--><descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration></plugin>
jemter
1、添加线程
2.添加http请求,添加beanshell前置处理
3.在测试计划里面 引入jar包
4.beanshell脚本里面编写引用方法,点击右上角查询日志
可以看到已经引用成功,加密成功