Jmeter是一款开源的性能测试工具,目前是行业内使用率最高的性能测试工具之一,Jmeter是使用JAVA语言开发的,本文介绍如何使用JAVA语言开发本身须要的扩展函数linux
- 目前业界流行的两种开发模式,本文介绍第二种
一、使用Jmeter二次开源环境,直接在org.apache.jmeter.functions包下面开发本身须要的函数,而后导出该jar包,替换Jmeter目录的ApacheJMeter_functions.jar文件
二、直接在Maven 项目下开发自定义函数,而后打包,该方法、简单、高效
- 开发思路
一、使用Eclipse建立Maven 项目,配置Pom文件,引入扩展function所需的依赖包;
二、建立类,而后继承AbstractFunction,实现四个主方法;
三、对编写好的项目进行编译、打包
四、把打包好的函数放到jmeter扩展目录,调用自定义函数,检查是否正确;
JDK环境 | Jmeter依赖包版本 | Maven仓库版本 |
---|---|---|
1.8 | 4.0 | 3.5.3 |
1、新建Maven项目apache
1.File》New》Project,选择Maven》Maven Project,一直点击Next,此处Package包名必定要以.functions格式结束,不然开发出来的函数,Jmeter读取不到
2.配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系统就会自动下载和关联相应的jar包,Pom配置文件以下:
3.保存Pom文件以后,系统会自动下载关联的依赖文件,以下图:
4.此时,因为对pom文件进行了修改,项目顶层会出现一把×,而且编译可能就会报错,须要执行Maven》Update Project更新外部依赖的Jar包windows
JMeter设计让一些核心的类能够在非UI的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是经过命名规则来实现的。全部实现function的类必需包含".functions",因此咱们自定义实现的类里必须包含".functions",好比以下申明的包名为:"jmeter.test.functions"微信
1.2. 首先在Jmeter.test.functions包下建立一个类,类名称为Save_Variable,须要继承AbstractFunction类,而后实现父类的四个方法ide
getArgumentDesc函数用来获取对输入参数的描述函数
4、验证开发的函数是否正常工具
使用一个sample调用该函数,以下所示
也可使用后置处理器调用性能
本次执行脚本的目录为script下,因此会在相同层级目录的data中生成测试
- 函数功能介绍
一、本次开发的函数实现的效果为经过传两个变量,一个是文件名(用来保存参数),一个是变量(能够传入多个参数),自动保存获取的变量
二、根据你执行脚本的路径,若是是在script下执行,就会在上一个层级的data目录(无则自动生成该目录)保存该变量,若是是在其它目录执行脚本,则会在执行目录下的data目录(无则自动生成该目录)保存该变量,变量文件夹也是会自动建立,若是已经存在该文件,则会自动追加变量到该文件
三、实现变量值筛选,若是获取的变量有一个为空值,也不会保存该次获取的其它变量
四、windows和linux环境均可用
五、性能测试过程当中,常常有需求想要大批量保存获取的变量,而且是关联的变量,须要实现多个变量保存在同一行csv,方便其它案例调用,目前jmeter内置函数没有该功能,本次开发的函数就能实现该需求
Jmeter.test.functions.jar下载方法见文章末尾介绍
完整源码以下:ui
若是文章对你有帮助,能够在右下角点击关注功能,欢迎转发、拍砖,本人会持续推出与测试有关的文章,与你们分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制,微信公众号与本平台文章同步,方便你们查阅
QQ技术交流群:加群请输入验证信息51CTO
微信二维码关注公众号:
关注以后,回复资源下载,便可获取本人共享的各类资源下载地址