Jmeter扩展组件开发(8) - 函数助手扩展开发demo

时间:2022-07-19 07:09:42

前提条件

1.pom文件引用ApacheJMeter_functions包

<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>5.2.1</version>
</dependency>

Jmeter扩展组件开发(8) - 函数助手扩展开发demo

2.新建一个package,注意:包名必须为functions,不然函数助手找不到

Jmeter扩展组件开发(8) - 函数助手扩展开发demo

3.新建的Java class继承AbstractFunction类;类下面四个方法必须全部实现

Jmeter扩展组件开发(8) - 函数助手扩展开发demo

四个方法简介

  • execute:执行方法
  • setParameters:设置参数。接受用户传递的参数
  • getReferenceKey:功能名称,叫啥名字,就选的时候展示的那个名字;重点:名字必须是“__???”两个下划线打头
  • getArgumentDesc:功能、参数描述

Jmeter扩展组件开发(8) - 函数助手扩展开发demo

示例---敲代码

public String execute(SampleResult sampleResult, Sampler sampler) throws InvalidVariableException {
System.out.println("execute run!!!");
return null;
}

public void setParameters(Collection<CompoundVariable> collection) throws InvalidVariableException {
System.out.println("setParameters run!!!");
}

public String getReferenceKey() {
System.out.println("getReferenceKey run!!!");
return "__MyDemo";
}

public List<String> getArgumentDesc() {
System.out.println("getArgumentDesc run!!!");
return null;
}

Jmeter扩展组件开发(8) - 函数助手扩展开发demo

示例---Jmeter查看

Step

打包jar包放到Jmeter重启Jmeter选择我们自己的函数,找到了成功了!

Result

  • getReferenceKey、getArgumentDesc的println在Jmeter控制台成功打印
  • 执行顺序:getReferenceKey(方法名称,一点击函数助手就运行)getArgumentDesc(功能描述、参数描述)setParameters(设置参数,接收用户传递的参数)execute(执行我们的方法)
  • Jmeter报错,抛空指针

Jmeter扩展组件开发(8) - 函数助手扩展开发demo