Jmeter添加自定义函数

最近测试一套接口,需要自定义函数,实现模拟数据并加密之类的功能,正好之前已经将Jmeter的源码在eclipse中运行起来了,可以通过在org.apache.jmeter.functions下添加函数。

1. 自然是从Jmeter官网下载src文件,并导入eclipse,可以参考另一篇博文点击打开链接

2. 直奔主题进行编码,在functions下添加类,继承AbstractFunction,并重写方法

package org.apache.jmeter.functions;

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

import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.util.JMeterUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class GenParams extends AbstractFunction {
	private static final Logger log = LoggerFactory.
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、付费专栏及课程。

余额充值