当前位置:网站首页>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。
函数助手中可以看到刚才的函数名称和参数。
输入参数,运行函数,就可以看到计算结果。
边栏推荐
- MySQL performance_ Schema common performance diagnosis query
- 【日常训练--腾讯精选50】292. Nim 游戏
- Red hat install kernel header file
- Forkjoin is the most comprehensive and detailed explanation (from principle design to use diagram)
- Change the original style of UI components
- 10W word segmentation searches per second, the product manager raised another demand!!! (Collection)
- [SQL practice] a SQL statistics of epidemic distribution across the country
- Go语学习笔记 - gorm使用 - gorm处理错误 | Web框架Gin(十)
- MFC BMP sets the resolution of bitmap, DPI is 600 points, and gdiplus generates labels
- Ten stages of becoming a Senior IC Design Engineer. What stage are you in now?
猜你喜欢
OpenSergo 即将发布 v1alpha1,丰富全链路异构架构的服务治理能力
A freshman's summary of an ordinary student [I don't know whether we are stupid or crazy, but I know to run forward all the way]
SAP ABAP BDC (batch data communication) -018
[cloud native] what is the microservice architecture?
职场经历反馈给初入职场的程序员
Sequential storage of stacks
CTFshow--常用姿势
Say sqlyog deceived me!
[FPGA tutorial case 13] design and implementation of CIC filter based on vivado core
Web authentication API compatible version information
随机推荐
PowerPivot——DAX(函数)
测试开发基础,教你做一个完整功能的Web平台之环境准备
[云原生]微服务架构是什么?
话说SQLyog欺骗了我!
PTA ladder game exercise set l2-004 search tree judgment
Flask 1.1.4 werkzeug1.0.1 analyse du code source: processus de démarrage
从“跑分神器”到数据平台,鲁大师开启演进之路
【日常训练--腾讯精选50】235. 二叉搜索树的最近公共祖先
980. 不同路径 III DFS
苹果cms V10模板/MXone Pro自适应影视电影网站模板
POI excel export, one of my template methods
[shell] clean up nohup Out file
3428. 放苹果
【日常训练--腾讯精选50】292. Nim 游戏
[FPGA tutorial case 14] design and implementation of FIR filter based on vivado core
ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用shap决策图结合LightGBM模型实现异常值检测案例之详细攻略
Things about data storage 2
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
产业金融3.0:“疏通血管”的金融科技
JVM命令之 jstat:查看JVM統計信息