当前位置:网站首页>Jmeter自带函数不够用?不如自己动手开发一个
Jmeter自带函数不够用?不如自己动手开发一个
2022-07-07 01:11:00 【码同学软件测试】
在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。
函数助手中可以看到刚才的函数名称和参数。
输入参数,运行函数,就可以看到计算结果。
边栏推荐
- 为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
- Data storage 3
- 《ClickHouse原理解析与应用实践》读书笔记(6)
- 目标检测中的损失函数与正负样本分配:RetinaNet与Focal loss
- SQL Server 2008 各种DateTime的取值范围
- Jstat pour la commande JVM: voir les statistiques JVM
- [daily training -- Tencent selected 50] 235 Nearest common ancestor of binary search tree
- PTA ladder game exercise set l2-004 search tree judgment
- 驱动开发中platform设备驱动架构详解
- Forkjoin is the most comprehensive and detailed explanation (from principle design to use diagram)
猜你喜欢
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略
老板总问我进展,是不信任我吗?(你觉得呢)
mac版php装xdebug环境(m1版)
Dc-7 target
Red Hat安装内核头文件
目标检测中的损失函数与正负样本分配:RetinaNet与Focal loss
Sequential storage of stacks
Go language learning notes - Gorm use - Gorm processing errors | web framework gin (10)
Three level menu data implementation, nested three-level menu data
If you don't know these four caching modes, dare you say you understand caching?
随机推荐
CMD permanently delete specified folders and files
数字IC面试总结(大厂面试经验分享)
软件测试知识储备:关于「登录安全」的基础知识,你了解多少?
一名普通学生的大一总结【不知我等是愚是狂,唯知一路向前奔驰】
STM32按键状态机2——状态简化与增加长按功能
为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
980. Different path III DFS
盘点国内有哪些EDA公司?
那些自损八百的甲方要求
Check point: the core element for enterprises to deploy zero trust network (ztna)
PTA ladder game exercise set l2-004 search tree judgment
驱动开发中platform设备驱动架构详解
3428. 放苹果
【SQL实战】一条SQL统计全国各地疫情分布情况
Why does the data center need a set of infrastructure visual management system
PTA 天梯赛练习题集 L2-003 月饼 测试点2,测试点3分析
每秒10W次分词搜索,产品经理又提了一个需求!!!(收藏)
Web authentication API compatible version information
关于STC单片机“假死”状态的判别
C note 13