• 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。

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

    图片

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

  • 相关阅读:
    02-课程发布
    HTML实现猜数字游戏
    【Qt】常用控件或属性(1)
    Python中将字典转为成员变量
    AI实战营第二期 第九节 《底层视觉与MMEditing》——笔记10
    微信小程序配置企业微信的在线客服
    【HMS core】【FAQ】典型问题合集7
    uverbs的交互方式——ioctl和write
    MySQL(十五) 索引的分类
    安防监控系统/视频云存储/视频监控平台EasyCVR无法级联上级平台,该如何解决?
  • 原文地址:https://blog.csdn.net/Testfan_zhou/article/details/125633789