赞
踩
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--继承AbstractFunction的包最后必需有functions--> <groupId>org.functions</groupId> <artifactId>ln</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <dependencies> <!--必需库--> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_functions</artifactId> <version>4.0</version> </dependency> <!--log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> </project>
package com.functions; 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 java.util.ArrayList; import java.util.Collection; import java.util.List; public class Test extends AbstractFunction { //储存变量 private Object[] value; private CompoundVariable one; private CompoundVariable two; /** * 执行函数 说白了,就是获取参数,然后执行某个类 * * @param sampleResult * @param sampler * @return * @throws InvalidVariableException */ @Override public String execute(SampleResult sampleResult, Sampler sampler) throws InvalidVariableException { Integer integer1 =Integer.valueOf(one.execute()) ; Integer integer2 =Integer.valueOf(two.execute()) ; return String.valueOf(integer1+integer2); } /** * 设置用户参数成成员变量 * * @param collection * @throws InvalidVariableException */ @Override public void setParameters(Collection<CompoundVariable> collection) throws InvalidVariableException { //转换成数组 value = collection.toArray(); one = (CompoundVariable) value[0]; two = (CompoundVariable) value[1]; } /** * 生成函数的函数名字 * * @return */ @Override public String getReferenceKey() { return "__Test220803"; } /** * 显示的参数说明 * * @return 列表 */ @Override public List<String> getArgumentDesc() { List desc = new ArrayList<String>(); desc.add("第一个参数为数值"); desc.add("第二个参数为数值"); //desc.add("第二个参数为topic"); return desc; } }
编译 并且查看需要哪些包
编译好的放入 jmeter->lib->ext 的目录
需要的依赖则放入jmeter->lib目录下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。