Jmeter自定义函数简单演示

本文介绍如何在JMeter中创建并使用自定义函数。首先,类需要继承AbstractFunction,并确保包名包含.functions。接着,将编译后的jar文件放入JMeter的libext目录并重启。最后,在JMeter的函数助手对话框中进行简单的演示,即可完成自定义函数的添加和使用。
摘要由CSDN通过智能技术生成

Jmeter自定义函数


初到项目组,第一次接触jmeter,接到一个任务是自定义jmeter函数,对字符串进行加密,加密算法已经有了,主要就是了解一下jmeter自定义函数的方法。需要注意的是:
1.开发需要用到jmeter的两个包:

ApacheJMeter_core.jar
ApacheJMeter_functions.jar

2.类需要继承AbstractFunction,简单示例

package com.demo.ext.functions;

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;

import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.functions.AbstractFunction;
import org.apache.jmeter.functions.InvalidVariableException;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.util.JMeterUtils;

public class DemoExtFunctions extends AbstractFunction {
	private static final List<String> desc = new LinkedList<>();
	//对应函数助手__函数名
	private static final String KEY = "__changeStr";
	
    static {
    	//参数提示
        desc.add(JMeterUtils.getResString("need a str")); 
        desc.add(JMeterUtils.getResString("function_name_paropt")); 
    }
    private Object[] values;
	@Overrid
JMeter是一款功能强大的压力测试工具,它支持自定义函数插件,可以增强测试脚本的灵活性和可扩展性。 下面是创建自定义函数插件的步骤: 1. 创建一个Java类,该类需要实现org.apache.jmeter.functions.Function接口,并覆盖execute方法。 2. 在类中定义一个静态成员变量,用于存储自定义函数的名称。 3. 在execute方法中,解析传入的参数,并根据业务逻辑计算结果。 4. 将计算结果封装成一个字符串,并返回。 5. 打包生成jar文件,将其放置在JMeter的lib/ext目录下。 6. 在JMeter中使用该函数时,需要在测试计划的用户定义变量中定义函数名称和参数。 例如,我们创建一个名为"add"的自定义函数,用于计算两个数的和。 1. 创建一个名为AddFunction的Java类,实现org.apache.jmeter.functions.Function接口,并实现execute方法。 ``` public class AddFunction implements Function { private static final String FUNCTION_NAME = "add"; // 自定义函数名称 @Override public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException { String arg1 = getParameter(0); // 获取第一个参数 String arg2 = getParameter(1); // 获取第二个参数 int num1 = Integer.parseInt(arg1); int num2 = Integer.parseInt(arg2); int sum = num1 + num2; return String.valueOf(sum); } @Override public String getReferenceKey() { return FUNCTION_NAME; } @Override public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException { checkParameterCount(parameters, 2); // 检查参数数量是否正确 super.setParameters(parameters); } } ``` 2. 打包生成jar文件,命名为AddFunction.jar,并将其放置在JMeter的lib/ext目录下。 3. 在JMeter中使用该函数时,需要在测试计划的用户定义变量中定义函数名称和参数。 例如,我们创建一个名为"test"的测试计划,在其中使用"add"函数计算两个数的和。 1. 在测试计划中添加一个用户定义变量。 2. 在变量名称中输入"__add",在变量值中输入"3,5",表示计算3和5的和。 3. 在测试计划中添加一个Sampler,例如HTTP请求。 4. 在Sampler的参数中,输入"${__add(3,5)}",表示调用"add"函数计算3和5的和,并将结果作为参数传递给Sampler。 5. 运行测试计划,查看执行结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值