• Jmeter自带函数不够用?不如自己动手开发一个


    在Jmeter的函数助手里,有很多内置的函数,比如Random、UUID、time等等。使用这些函数可以快速帮我们生成某些数据,进行一些逻辑处理。用起来非常的方便。

    但是在实际接口测试过程中,有很多的需求,Jmeter内置的函数可能并不能满足我们的需求。这个时候我们可以通过自己编写代码,扩展Jmeter的内置函数。

    比如现在想在Jmeter里添加一个简单的求和的函数,代码逻辑非常简单,大体代码如下:

    public int sum(int a, int b){
    return a + b;
    }
    接下来来看下如何把自定义的逻辑封装为Jmeter的内置函数。

    新建工程
    在idea中新建Java工程,然后把Jmeter的核心jar包ApacheJMeter_core.jar(在jmeter的lib/ext目录下可以找到)导入到工程中

    图片

    在src目录下新建package,需要注意的是package的名字必须包含".functions",比如"com.mtx.jmeter.functions",JMeter设计让一些核心的类可以在非UI的方式下运行的时候能被加载进来,这些类会被优先加载。加载这些类的时候是通过命名规则来实现的。所有实现function的类必需包含".functions",否则自定义的函数不会生效。

    创建自定义函数类
    新建一个类,继承Jmeter的抽象类AbstractFunction。在函数类里,需要定义以下属性和方法。

    属性

    自定义函数的参数名称列表,List类型

    自定义函数的名称,String类型

    保存用户输入数据的数组,CompoundVariable[]类型

    方法

    execute:执行函数的逻辑

    setParameters:获取用户输入的参数

    getReferenceKey:返回自定义函数的名称

    getArgumentDesc:返回自定义函数所有的参数名描述

    具体代码如下:

    图片

    将代码导出为jar包
    在idea中设置工程的归档品artifacts,然后通过build,将代码导出为jar包,然后放到Jmeter的lib/ext目录下,再启动Jmeter。

    函数助手中可以看到刚才的函数名称和参数。

    图片

    输入参数,运行函数,就可以看到计算结果。

  • 相关阅读:
    ceph修复pg inconsistent( scrub errors)
    Vue中的监视属性
    fastadmin 后台列表数据多表查询筛选
    架构师-软件工程习题选择题
    神经网络训练的一般步骤,神经网络的训练与测试
    电子病历编辑器源码(Springboot+原生HTML)
    LiveMedia视频监控汇聚管理平台视频接入方案(二)
    微信公众号菜单管理接口开发
    基于Struts2+Hibernate开发学生信息管理系统(选课)
    智能中控屏:产品介绍+未来发展趋势详解
  • 原文地址:https://blog.csdn.net/Testfan_zhou/article/details/125633789