JMeter 二次开发之环境准备

ops/2024/12/26 3:46:41/

通过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文件

图片

3、选择Open as Project:

图片

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

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

图片

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


http://www.ppmy.cn/ops/145019.html

相关文章

windows下glib库的编译与调试

glib库是一个纯C库,源于GIMP,它是GIMP、GTK/GTK以及GNOME等的基石库,在Linux下起作举足轻重的作用。对于学习C语言及数据结构,glib库也是一个非常不错的选择。在学习的过程中如果能够调试代码,将会对代码有更直观的理解…

linux检测硬盘

通过fdisk 查看显示所有磁盘或闪存的信息 fdisk -l /dev/sd*使用 badlocks检查 linux 硬盘上的坏道/坏块。也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘 badblocks -s -v /dev/vdb1 > /badblocks-vdb1.txt tail -f badblocks-vdb1.txt #检…

用Python开启人工智能之旅(四)深度学习的框架和使用方法

第四部分:深度学习的框架和使用方法 用Python开启人工智能之旅(一)Python简介与安装 用Python开启人工智能之旅(二)Python基础 用Python开启人工智能之旅(三)常用的机器学习算法与实现 用Pyt…

探索 Samba 服务器:搭建跨平台文件共享的桥梁

samba 介绍 samba最先是再Linux和Windows两个平台之间建立一个桥梁,使得Linux系统和Windows系统之间互相通信和传输内容,比如复制文件、实现不同操作系统之间的资源共享等。在实际应用中,可以将samba服务器设置成一个功能非常强大的文件服务器。 SMB协…

Java爬虫获取1688关键字接口详细解析

概述 在电商领域,获取商品信息和价格对于市场分析、价格监控和供应链管理至关重要。1688作为中国领先的B2B电商平台,提供了海量的商品数据。本文将详细介绍如何利用Java爬虫技术合法合规地获取1688商品关键字接口数据。 前期准备 Java开发环境&#x…

计算机网络:IP地址相关知识总结

目录 一、IP地址的表现形式 1.1 十进制表示形式 1.2 二进制表示形式 1.3 转换示例介绍 二、IP地址的组成 2.1 网络ID 2.2 主机ID 2.3 示例 三、IP地址的分类 3.1 A类地址 3.2 B类地址 3.3 C类地址 3.4 D类地址 3.5 E类地址 四、常见的特殊IP地址 五、IP地址二进…

ABAQUS纤维混凝土细观模型基于梁单元建模

钢纤维混凝土(SFRC)弥补了素混凝土抗裂性的不足,为建立钢纤维混凝土的力学本构模型,本案例通过CAD随机纤维3D插件建立随机分布的纤维线模型,并将模型导入ABAQUS内,通过梁单元纤维模型,研究细观纤…

配置清晰,nignx http tcp 代理 已经websocket

启动 docker run -it --name lv_ocr --privilegedtrue --restartalways --nethost -v $(pwd)/config/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/config/conf.d:/etc/nginx/conf.d -d harbor.jettech.com/jettechtools/nginx:1.21.4 [rootit4it-prd-99 config]# ls conf.d…