jmeter5.4.1源码idea构建&二次开发

1.下载源码

Apache JMeter - Download Apache JMeter

jmeter5.4.1源码idea构建&二次开发_第1张图片

2.导入IDEA

2.1 先设置Gradle目录

未设置过Gradle的IDEA,建议先设置下Gradle的用户目录

jmeter5.4.1源码idea构建&二次开发_第2张图片

2.2导入JMeter工程

jmeter5.4.1源码idea构建&二次开发_第3张图片

jmeter5.4.1源码idea构建&二次开发_第4张图片

2.3设置国内Gradle源

jmeter5.4.1源码idea构建&二次开发_第5张图片

jmeter5.4.1源码idea构建&二次开发_第6张图片

jmeter5.4.1源码idea构建&二次开发_第7张图片

设置gradle的下载源

jmeter5.4.1源码idea构建&二次开发_第8张图片

速度直接起飞!

重新加载Gradle,或者重新加载项目

接下来就是耐心的等等待,网速好的话,大约30-3h左右即可下载完毕。

2.4 执行 runGui

进行整体项目构建,熟悉的JMeter就可以打开了

jmeter5.4.1源码idea构建&二次开发_第9张图片

3.新增系统函数

拿到源码我们是为了对JMeter进行二次开发,我当前的需求就是新增自定义的系统函数。

整体流程

  1. 系统函数是在 src/functions下。我们需要新增里面的系统函数

  2. 之后打出的jar包 我们需要替换到\apache-jmeter-5.2.1\lib\extApacheJMeter_functions.jar即可。

实战:新增自定义的UUID系统函数

我想新增一个去掉 - 的UUID系统函数。于是在java\org\apache\jmeter\functions新建了一个JAVA 类

package org.apache.jmeter.functions;

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

import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;

/**
 * 自定义创建一个不含有 - 的 UUID
 * Create a custom UUID that does not contain “-”
 *
 * Parameters:
 * - None
 *
 * Returns:
 * - A pseudo random UUID 4
 * 
 */
public class UuidCustomer extends AbstractFunction {

    private static final List desc = new LinkedList<>();
	
    //定义 系统函数的名称
    private static final String KEY = "__UUID2"; //$NON-NLS-1$

    public UuidCustomer() {
    }

    //执行的系统函数的操作
    @Override
    public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
        return UUID.randomUUID().toString().replace("-", "");
    }

    @Override
    public void setParameters(Collection parameters) throws InvalidVariableException {
        checkParameterCount(parameters, 0, 0);
    }

    @Override
    public String getReferenceKey() {
        return KEY;
    }

    @Override
    public List getArgumentDesc() {
        return desc;
    }

}

运行测试一下

点击 runGui 运行测试一下

jmeter5.4.1源码idea构建&二次开发_第10张图片

完美成功。接下来打包并替换到使用的JMeter上

打Jar包

jmeter5.4.1源码idea构建&二次开发_第11张图片

成功之后会打一个jar包在

jmeter5.4.1源码idea构建&二次开发_第12张图片

将此包重命名后进行替换

jmeter5.4.1源码idea构建&二次开发_第13张图片

使用替换后JMeter查看

jmeter5.4.1源码idea构建&二次开发_第14张图片

完美成功!

系统函数里面关键讲解

DigestEncodeFunction举例子。

水平有限,看看大致执行的过程就行,明白之后方便我们自定义或者修改

jmeter5.4.1源码idea构建&二次开发_第15张图片

jmeter5.4.1源码idea构建&二次开发_第16张图片

jmeter5.4.1源码idea构建&二次开发_第17张图片

jmeter5.4.1源码idea构建&二次开发_第18张图片

分类: 测试工具, 软件测试

 

你可能感兴趣的:(#jmeter,jmeter源码构建,jmeter二次开发,jmeter插件)