JMeter 二次开发之环境准备

通过JMeter二次开发,可以充分发挥JMeter的潜力,定制化和扩展工具的能力以满足具体需求。无论是开发自定义插件、函数二次开发还是定制UI,深入学习和掌握JMeter的二次开发技术,将为接口功能测试/接口性能测试工作带来更多的便利和效益。

前言

大家都知道接口测试在保证软件质量方面的重要性。Apache JMeter作为一款功能强大的开源性能测试工具备受测试人员的喜爱,不仅可以用做接口功能测试,还可以用做接口性能测试。然而,即使在其强大的基础功能之上,JMeter仍然提供了许多可定制和扩展的能力,通过二次开发,我们可以进一步定制JMeter满足特定具体需求。

JMeter二次开发的应用场景

  • 定制采样器:根据业务需求创建自定义的采样器,以模拟特定的业务场景或协议,例如WebSocket、gRPC等

  • 自定义监听器:开发自定义的监听器,用于收集和分析测试结果,并根据需要生成自定义报告或图表。

  • 函数开发:丰富JMeter通用的函数库,方便用例设计中的功能实现,如加密/解密、签名生成、随机生成身份证号码等

  • 完全基于JMeter源码开发:JMeter本身产品结构、执行流程相对稳定,并且代码量大,逻辑也相对复杂,直接对源码进行二次开发投入时间长,收益低,一般不这么做,,但参考其代码有利于插件开发

而JMeter二次开发过程中,大多数都需要拿到JMeter源码自己进行修改->编译->打包,所以要想做JMeter二开,前提条件是掌握如何拿到JMeter源码进行编译打包。

JMeter源码开发环境配置

前置环境准备:

  • 安装JDK,配置JDK环境变量

  • 安装intellij IDEA

  • 安装Gradle、配置Gradle环境变量

  • 在JMeter 5.2版本开始,源码编译由Gradle代替了ANT

关于JDK与intellij IDEA安装及配置可以在社区里面搜索相关的文章,这里不再赘述

Gradle配置

打开官网下载页面:https://gradle.org/releases/,这里我选择是的v7.6版本,点击complete进行下载:

将下载的压缩包解压到任意路径下,复制对应路径:

打开系统环境变量配置页面,新增GRADLE_HOME变量名,变量值即为上面复制过来的路径:

之后双击Path,在里面追加%GRADLE_HOME%\bin即可:

最好输入gradle -v检测:

JMeter源码配置

1、下载JMeter源码

进入JMeter官方网站,找到源码下载链接:

Index of /dist/jmeter/source

下载对应压缩包并解压:

2、启动intellij IDEA,选择File - open,选择JMeter源码目录中的build.gradle.kts文件

添加图片注释,不超过 140 字(可选)

3、选择Open as Project:

4、之后Gradle会自动下载JMeter中的依赖组件,等待它执行结束

5、进入到IDEA的Termial命令行模式,输入gradlew runGui 编译源码,等待一会儿即可看到JMeter GUI页面

至此JMeter的源码环境就已经搭建好了。

相关推荐
B站_计算机毕业设计之家6 小时前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
PPPPPaPeR.6 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
橙露6 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe116 小时前
C 标准库 - `<float.h>`
开发语言
JaydenAI6 小时前
[拆解LangChain执行引擎] ManagedValue——一种特殊的只读虚拟通道
python·langchain
骇城迷影6 小时前
Makemore 核心面试题大汇总
人工智能·pytorch·python·深度学习·线性回归
长安牧笛6 小时前
反传统学习APP,摒弃固定课程顺序,根据用户做题正确性,学习速度,动态调整课程难度,比如某知识点学不会,自动推荐基础讲解和练习题,学习后再进阶,不搞一刀切。
python·编程语言
2501_916008896 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
June bug6 小时前
【PMP】敏捷Scrum实践
经验分享·职场和发展·学习方法·scrum
boooooooom6 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试