jmeter二次开发函数-生成身份证号

代码参考这个
java 随机生成身份证代码

Java的身份证号码工具类

pom文件添加

xml 复制代码
 <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>5.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
            <version>5.6.2</version>
        </dependency>

创建

java 复制代码
import com.saic.ptest.sign.IdCardGenerator;
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 IdCardGeneratorFunction extends AbstractFunction {
    private static final List<String> desc = new ArrayList();

    //定义函数参数列表
    @Override
    public List<String> getArgumentDesc() {
        return desc;
    }

    //用来接收、处理用户调用函数时所传入的参数值
    @Override
    public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {
        this.checkParameterCount(parameters, 0, 0);

    }

    //函数的执行主体,执行具体的业务逻辑、功能
    @Override
    public String execute(SampleResult sampleResult, Sampler sampler)  {
        IdCardGenerator idCardGenerator = new IdCardGenerator();
        return idCardGenerator.generate(); //把执行结构返回给用户
    }

    //要调用的函数名称
    @Override
    public String getReferenceKey() {
        String key = "__IdCardGenerator";
        return key ;
    }
}

打成包,放到jmeter的/lib/ext路径下

效果演示

参考的是/lib/ext路径下的

ApacheJMeter_functions.jar反编译后的文件--uuid

java 复制代码
package org.apache.jmeter.functions;

import com.google.auto.service.AutoService;
import java.util.ArrayList;
import java.util.Collection;
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;

@AutoService({Function.class})
public class Uuid extends AbstractFunction {
   private static final List<String> desc = new ArrayList();
   private static final String KEY = "__UUID";

   public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
      return UUID.randomUUID().toString();
   }

   public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {
      this.checkParameterCount(parameters, 0, 0);
   }

   public String getReferenceKey() {
      return "__UUID";
   }

   public List<String> getArgumentDesc() {
      return desc;
   }
}
相关推荐
AngusKit1 天前
AngusTester 与 Postman、MeterSphere:私有化统一测试怎么选
测试工具·jmeter·压力测试·metersphere·web测试·移动端测试
TomEval2 天前
【性能测试】17 - 性能测试入门
测试工具·jmeter
测试19984 天前
Jmeter接口自动化测试:Jmeter变量的使用
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·接口测试
川石课堂软件测试5 天前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
yxlalm6 天前
4.1 JMeter 压测工具使用
jmeter
大哥_ZH7 天前
Jmeter5.2.1版本流式请求压测脚本
jmeter
测试19989 天前
Jmeter接口自动化生成测试报告html格式详解
自动化测试·python·测试工具·jmeter·职场和发展·测试用例·接口测试
stillstream_ink10 天前
OpenCart性能压测复盘|JMeter\+Locust双工具实操,附5个踩坑记录
jmeter·测试
岁月失语唯石能言13 天前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试