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;
   }
}
相关推荐
测试199820 小时前
Jmeter HTTP代理服务器录制压力脚本
自动化测试·软件测试·测试工具·jmeter·程序人生·职场和发展·测试用例
web135085886351 天前
全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
jmeter·中间件·性能优化
互联网杂货铺2 天前
软件测试之压力测试
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
幸福的达哥2 天前
后端性能测试优化案例
jmeter·压力测试·安全性测试
逻各斯2 天前
用JMeter给要登录的操作做压力测试
jmeter·压力测试
测试杂货铺2 天前
接口测试及常用接口测试工具(Postman/Jmeter)
自动化测试·软件测试·测试工具·jmeter·测试用例·接口测试·postman
陈志化2 天前
JMeter----笔记
笔记·jmeter
测试小罡3 天前
如何在JMeter中配置断言,将非200状态码视为测试成功
jmeter
锦都不二3 天前
一文2000字从0到1用Jmeter全流程性能测试实战
jmeter
Allen Bright3 天前
【JMeter使用-2】JMeter中Java Request采样器的使用指南
java·开发语言·jmeter