当前位置:网站首页>Jmeter自带函数不够用?不如自己动手开发一个

Jmeter自带函数不够用?不如自己动手开发一个

2022-07-07 01:11:00 码同学软件测试

在Jmeter的函数助手里,有很多内置的函数,比如Random、UUID、time等等。使用这些函数可以快速帮我们生成某些数据,进行一些逻辑处理。用起来非常的方便。

但是在实际接口测试过程中,有很多的需求,Jmeter内置的函数可能并不能满足我们的需求。这个时候我们可以通过自己编写代码,扩展Jmeter的内置函数。

比如现在想在Jmeter里添加一个简单的求和的函数,代码逻辑非常简单,大体代码如下:

public int sum(int a, int b){
return a + b;
}
接下来来看下如何把自定义的逻辑封装为Jmeter的内置函数。

新建工程
在idea中新建Java工程,然后把Jmeter的核心jar包ApacheJMeter_core.jar(在jmeter的lib/ext目录下可以找到)导入到工程中

图片

在src目录下新建package,需要注意的是package的名字必须包含".functions",比如"com.mtx.jmeter.functions",JMeter设计让一些核心的类可以在非UI的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是通过命名规则来实现的。所有实现function的类必需包含".functions",否则自定义的函数不会生效。

创建自定义函数类
新建一个类,继承Jmeter的抽象类AbstractFunction。在函数类里,需要定义以下属性和方法。

属性

自定义函数的参数名称列表,List类型

自定义函数的名称,String类型

保存用户输入数据的数组,CompoundVariable[]类型

方法

execute:执行函数的逻辑

setParameters:获取用户输入的参数

getReferenceKey:返回自定义函数的名称

getArgumentDesc:返回自定义函数所有的参数名描述

具体代码如下:

图片

将代码导出为jar包
在idea中设置工程的归档品artifacts,然后通过build,将代码导出为jar包,然后放到Jmeter的lib/ext目录下,再启动Jmeter。

函数助手中可以看到刚才的函数名称和参数。

图片

输入参数,运行函数,就可以看到计算结果。

原网站

版权声明
本文为[码同学软件测试]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Testfan_zhou/article/details/125633789