一. 场景
在测试过程中经常需要调用第三方jar包来生成测试数据,或者使用java工具类来实现业务场景,普遍的做法是手动调用jar包,再把这些值赋给jmeter中的某个参数,以满足业务测试需求目的,jmete有调用jar包的功能,可以利用这个实现对jar包的嵌入调用。
二. 自定义jar包
用Eclipse或者IntelliJ IDEA, 看个人喜好, IntelliJ IDEA 貌似更胜一筹, 写一个非常简单的java
public class Test{
public static String stringFormat(String s){
return s + "Jmeter微信号:1028610818 ";
}
}
使用IntelliJ ->File->project structure,第一次要点击“+”添加。
点击“ok”,弹框。
这里选择MAIN CLASS,选择你要打成jar包的main class,然后修改MANIFEST.MF的存放路径。
点OK进入下一步,如果弹出如下的错误提示,那是因为之前曾经打过jar,生成了MANIFEST.MF文件,删除这个文件就可以了。
直接在工程的src\META-INF\下删除即可。。。
.jar输出后,然后就要执行BUILD了,否则输出目录下面是看不到jar的
点击菜单栏build-->build Artfacts...弹出对话框,选中刚刚生成的jar,会再弹出个对话框点击build,然后就静静的等待jar的生成。
上述操作完成即可build出jar包。
三. Jmeter中调用自定义jar或者第三方工具类
一般有两种方法
第一种
直接将包放置jmeter的扩展包目录中,即:
%jmeter_home%/lib/ext
第二种 (推荐使用)
在测试计划的add directory or jar to classpath,导入 jar包.
然后BeanShell就可以直接使用import 自己的类, 和java里一样调用.
在jmeter中添加一个sampler
beanshell sampler下编写java代码, 实现对jar包调用
import 自定义jar包的test类里仅有的方法stringFormat, return返回结果.
Add 监听器->查看结果树,查看调用情况
调用自定义jar包的功能, 是jmeter为我们打开了一扇更为广阔的大门, 设想一下, 项目中很多复杂的业务场景是否可以通过java实现封装, jmeter 只负责调用jar包, 让jmeter做更专注的事情。