当前位置:网站首页>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。
函数助手中可以看到刚才的函数名称和参数。

输入参数,运行函数,就可以看到计算结果。
边栏推荐
- yarn入门(一篇就够了)
- POI excel export, one of my template methods
- 深度聚类:将深度表示学习和聚类联合优化
- On the discrimination of "fake death" state of STC single chip microcomputer
- The boss always asks me about my progress. Don't you trust me? (what do you think)
- Win configuration PM2 boot auto start node project
- [shell] clean up nohup Out file
- 【FPGA教程案例14】基于vivado核的FIR滤波器设计与实现
- 如何在Touch Designer 2022版中设置解决Leap Motion不识别的问题?
- DC-7靶机
猜你喜欢

为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾

话说SQLyog欺骗了我!

【FPGA教程案例13】基于vivado核的CIC滤波器设计与实现

ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略

关于STC单片机“假死”状态的判别

Bypass open_ basedir

How to improve website weight

EMMC print cqhci: timeout for tag 10 prompt analysis and solution

Peripheral driver library development notes 43: GPIO simulation SPI driver

SubGHz, LoRaWAN, NB-IoT, 物联网
随机推荐
驱动开发中platform设备驱动架构详解
[FPGA tutorial case 14] design and implementation of FIR filter based on vivado core
[daily training -- Tencent selected 50] 292 Nim games
Flinksql read / write PgSQL
Flask1.1.4 Werkzeug1.0.1 源碼分析:啟動流程
Bbox regression loss function in target detection -l2, smooth L1, IOU, giou, Diou, ciou, focal eiou, alpha IOU, Siou
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略
How much do you know about clothing ERP?
980. 不同路径 III DFS
Check point: the core element for enterprises to deploy zero trust network (ztna)
STM32 key state machine 2 - state simplification and long press function addition
JVM命令之 jstat:查看JVM统计信息
Convert numbers to string strings (to_string()) convert strings to int sharp tools stoi();
JVM监控及诊断工具-命令行篇
Red Hat安装内核头文件
目标检测中的BBox 回归损失函数-L2,smooth L1,IoU,GIoU,DIoU,CIoU,Focal-EIoU,Alpha-IoU,SIoU
生活中的开销,怎么记账合适
If you don't know these four caching modes, dare you say you understand caching?
PowerPivot - DAX (function)
10W word segmentation searches per second, the product manager raised another demand!!! (Collection)