【Jmeter】添加自定义函数

一、项目创建

1、创建个maven项目;

2、将Jmeter的ApacheJMeter_core.jar、ApacheJMeter_functions.jar导入项目;

二、函数实现

1、创建个class作为函数实现类

有以下2点需要注意:

注意calss的包名中需要包含".functions"。JMeter设计让一些核心的类可以在非UI的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是通过命名规则来实现的。所有实现function的类必需包含".functions",所以我们自定义实现的类里必须包含".functions",比如如下申明的包名为:"org.apache.functions.functions";

⑵需要class需要继承AbstractFunction,AbstractFunction类提供了4个抽象方法,在扩展自定义函数的时候需要实现它们。

①public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException

该方法在用于传递用户在执行过程当中传入的实际参数值,一般该方法传入的参数会被保存在类内全局变量里,并可在后面调用的execute方法中调用。

②public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException

JMeter会将上次运行的SampleResult和当前的Sampler作为参数传入到该方法里,返回值就是在运行该function后得到的值,以String类型返回。

③public String getReferenceKey()

设定function的名字。JMeter的命名规则是在方法名前面加入双下划线"__"。比如"__RedisDataGet",function的名字跟实现该类的类名应该一致,而且该名字应该以static final的方式在实现类中定义好,避免在运行的时候更改它。

 

    

④public List<String> getArgumentDesc()

添加对于function参数的描述

2、将项目达成jar包

三、函数添加与使用

将打好的jar包复制到${JMETER_HOME}libext,重新启动Jmeter,即可在函数助手中查看到并使用添加的自定义函数。

 

原文地址:https://www.cnblogs.com/6970-9192/p/10605444.html