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;
   }
}
相关推荐
AC赳赳老秦21 小时前
R语言数据分析:DeepSeek辅助生成统计建模代码与可视化图表
开发语言·人工智能·jmeter·数据挖掘·数据分析·r语言·deepseek
老友@21 小时前
JMeter 在 Linux 环境下进行生产级性能压测的完整实战指南
java·linux·jmeter·性能优化·系统架构·压测·性能瓶颈
老友@1 天前
JMeter 压力测试完全指南(中文界面版,超详细小白版)
jmeter·压力测试
Mr_Xuhhh1 天前
JMeter性能测试工具核心面试复习指南
测试工具·jmeter·面试
码出钞能力3 天前
jmeter压测笔记
jmeter
网易测试开发猿3 天前
爆肝整理,性能测试-内存问题定位分析+常见业务场景bug(汇总)
软件测试·软件测试工程师·jmeter·压力测试·性能测试·负载测试·jmeter性能测试
网易测试开发猿5 天前
吐血整理,性能测试-MySQL问题定位和分析+SQL优化(详细)
软件测试·软件测试工程师·jmeter·压力测试·性能测试·负载测试·jmeter性能测试
vHXIxsckCTh6 天前
LabVIEW中英文虚拟键盘源程序:便捷输入的利器
jmeter
少云清6 天前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter
少云清8 天前
【性能测试】14_JMeter _JMeter测试报告
jmeter·性能测试