JMeter开发插件工具

第一步: 创建一个maven项目

     这一步:网上很多教程,自行查看

第二步:导入依赖包:

导入核心开发包

<dependency>

<groupId>org.apache.jmeter</groupId>

<artifactId>ApacheJMeter_core</artifactId>

<version>5.3</version>

</dependency>

<dependency>

<groupId>org.apache.jmeter</groupId>

<artifactId>ApacheJMeter_java</artifactId>

<version>5.3</version>

</dependency>


<build>

    <finalName>vapeJmeter</finalName>

    <plugins>

        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-compiler-plugin</artifactId>

            <version>3.5.1</version>

            <configuration>

                <source>1.8</source>

                <target>1.8</target>

                <encoding>UTF-8</encoding>

            </configuration>

        </plugin>

    </plugins>

</build>


注意  包名必须含有  functions ,例如: com.vape.functions


注意包名

代码: 

package com.vape.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.threads.JMeterVariables;

import org.apache.jmeter.util.JMeterUtils;

/**

*@author    created by derrick

*@date  2021年4月19日---上午11:45:40

*@problem

*@answer

*@action

*/

public class MobileFunction extends AbstractFunction {

    //function名称

    private static final String KEY = "__testMobile";

    private static final List<String> desc = new LinkedList<String>();

    private static final String[]telFirst = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153".split(",");


    //function描述

    static{

        desc.add(JMeterUtils.getResString("derrick test"));

    }

    private CompoundVariable varName;

    /** 执行部分 */

    @Override

    public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException{

        int index =getNum(telFirst.length - 1);

        String first = telFirst[index];

        String second = String.valueOf(getNum(999) + 10000).substring(1);

        String third = String.valueOf(getNum(9990) + 10000).substring(1);

        String mobile = first + second + third;

        if (varName != null) {

            JMeterVariables vars =getVariables();

            final String varTrim= varName.execute().trim();

            if (vars != null&& varTrim.length() > 0) {

                vars.put(varTrim, mobile);

            }

        }

        return mobile;

    }

  /** 设置参数*/

    public void setParameters(Collection<CompoundVariable> parameters)throws InvalidVariableException

    {

        checkParameterCount(parameters, 0, 1);

        Object[] values =parameters.toArray();

        if (values.length > 0) {

            varName = (CompoundVariable)values[0];

        } else {

            varName = null;

        }

    }

    @Override

    public String getReferenceKey() {

        return KEY;

    }

    public List<String>getArgumentDesc() {

        return desc;

    }

    private static int getNum(int end)

    {

        return (int)(Math.random()*(end-1));

    }

}

然后使用maven打包 


项目打成jar包

最后把生成的jar丢到 \lib\ext 目录下,重启jmeter


生成手机号码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容