Jmeter二次开发--开发函数

本文介绍了如何使用Java开发Apache JMeter的自定义函数,以满足接口测试中的特定需求。首先,确保安装了JDK、IntelliJ IDEA和JMeter。然后,创建一个Java项目,导入必要的JMeter库,并在指定包下创建继承AbstractFunction的类,覆盖execute、getReferenceKey、setParameters和getArgumentDesc方法。通过这个过程,你可以实现自己的函数逻辑,例如生成随机手机号。最后,将编译后的jar包放入JMeter的lib/ext目录,重启JMeter后,新函数即可在函数助手中使用。

 Apache JMeter 是 Apache 基于 Java 开发的开源压力测试工具,但后来扩展到了其他测试领域,像接口测试。但,随着 IT 行业的快速发展,不同企业或组织需求更加丰富,JMeter 默认的功能往往不能满足所有的需求,在一些企业里,会对这款工具进行二次开发。

使用前准备:

  • JDK:Java 开发工具包,是所有 Java 开发或项目运行的基础
  • IntelliJ IDEA:一个进行 Java 项目开发的集成开发环境
  • JMeter:下载5.0以上版本即可,本人的是5.3版本

函数开发

JMeter 自带函数库中,提供了丰富的函数,并被广泛使用,如__Random、__UUID 等。但,不同接口测试、性能测试项目或场景中,有着不同的特性,JMeter 自带的函数并不完全满足业务需要。基于 JMeter 的自定义函数开发,就能满足各类特性业务的需求,在实际的测试中有着非常重要的应用。

自定义函数必须继承ApacheJMeter_functions.jar包(位于D:\apache-jmeter-5.3\lib\ext\目录下)中的AbstractFunction 类,并重写父类的 4 个方法。

  1. execute,函数执行逻辑,必需,自定义函数的核心逻辑,并返回经过处理后的内容。见如下代码:
    //业务主逻辑
    @Override
    public String execute(SampleResult sampleResult, Sampler sampler) throws InvalidVariableException {
        SampleResult sampleResult1 = new SampleResult();
        try {
            sampleResult1.sampleStart();
            int index=getNum(0,telFirst.length-1);
            String telNum = telFirst[index];
            String two = String.valueOf(getNum(1, 888) + 10000).substring(1);
            String three = String.valueOf(getNum(1, 9100) + 10000).substring(1);
            tel = telNum + two + three;
    
            if (varName != null) {
                JMeterVariables vars = getVariables();
                final String varTrim = varName.execute().trim();
                if (vars != null && varTrim.length() > 0) {
                    vars.put(varTrim, telNum);
                }
            }
            sampleResult1.setResponseData("手机号区段:"+ telNum +" 随机生成的手机号是:" + tel,"utf-8");
            sampleResult1.setSuccessful(true);
        }catch (Exception e){
            sampleResult.setSuccessful(false);
            e.printStackTrace();
    
        }finally {
            sampleResult1.sampleEnd();
    
        }
        return tel
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值