JMeter 二次开发之环境准备

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

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

JMeter二次开发的应用场景

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

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

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

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

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

JMeter源码开发环境配置

前置环境准备:

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

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

  • 安装intellij IDEA

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

关于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.mzph.cn/news/739129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux/OS学习】基础文件控制/IO——内存文件

文章目录 一、 基础文件控制1.1 系统接口open函数1.2 Linux中文件描述符1.2 C语言FILE中的文件描述符 二、重定向1. 输出重定向2. 追加重定向3. 输入重定向 tips:fd的分配规则 一个文件要有一个唯一的文件标识,以便用户识别和引用。 文件名包含3部分:文件…

进电子厂了,感触颇多...

作者:三哥 个人网站:https://j3code.cn 本文已收录到语雀:https://www.yuque.com/j3code/me-public-note/lpgzm6y2nv9iw8ec 是的,真进电子厂了,但主人公不是我。 虽然我不是主人公,但是我经历的过程是和主…

jdk1.8下载与安装 图文版

JDK下载 首先在Oracle官网上下载jdk1.8.https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,如下图所示,找到jdk1.8,选择对应的版本 或者 链接:https://pan.baidu.com/s/13lZy7JKE1xn-dXx_VG1QFA?pwd29wl 提取码:…

谷歌承认“窃取”OpenAI模型关键信息

什么?谷歌成功偷家OpenAI,还窃取到了gpt-3.5-turbo关键信息??? 是的,你没看错。 根据谷歌自己的说法,它不仅还原了OpenAI大模型的整个投影矩阵(projection matrix)&…

Redis高可用之哨兵模式和集群模式

Redis高可用 Redis哨兵高可用 概述 sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。 哨兵架构下client端第一次从哨兵找出redis的主节点,后续就直接访问redis的主节点 不会每次都通过sentinel代理访问redis的主…

知识图谱技术综述

作者简介:徐增林(1980 − ),男,博士,教授,主要从事机器学习及其在社会网络分析、互联网、计算生物学、信息安全等方面的研究. 【摘要】 知识图谱技术是人工智能技术的重要组成部分,其建立的具有语义处理能力与开放互联能力的知识库,可在智能搜索、智能问答、个性化推…

TodoList案例——静态组件

Todo-List案例 组件化编码流程 1、实现静态组件:抽取组件,使用组件实现静态页面效果 2、展示动态数据: 2.1数据的类型、名称是什么? 2.2数据保存在哪个组件? 3、交互——从绑定事件监听开始 演示: App组…

九、软考-系统架构设计师笔记-软件可靠性基础知识

1、软件可靠性概念 软件可靠性定义 软件可靠性(Software Reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。 规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件。规定…

自反检索增强生成 (SELF-RAG)

理想情况下,生成式 AI 的落地应用需要提供真实且高质量的响应。SELF-RAG 正是为解决此问题而被创建的。 背景介绍 有趣的是,RAG的发展轨迹与提示工程(prompt engineering)非常相似。RAG 最初是一个简单而有效的概念,其…

cocos2d-x-3.17 android升级 gradle NDK_DEBUG=0 -o NDK_DEBUG=1 -o cocos2dlua_shared

由于需要升级sdk版本 需要对应升级gradle版本 记录下升级内容 externalNativeBuild { ndkBuild { - //arguments NDK_DEBUG0 -o 修改成下面 arguments NDK_DEBUG0 } } debug { …

音频功率放大器方案LM4863替代DP4863

音频放大器是在产生声音的输出元件上重建输入的音频信号的设备,其重建的信号音量和功率级都要理想——如实、有效且失真低。音频范围为约20Hz~20000Hz,因此放大器在此范围内必须有良好的频率响应。根据应用的不同,功率大小差异很大…

光学硬件——二向色片

二向色镜(Dichroic Mirrors )又称双色镜,常用于激光技术中。 产品介绍: 指45度入射或大角度入射时,把光源分离出特定的光谱改变部分光谱光路方向,常用于酶标仪器、荧光显微镜系统、投影光引擎系统、激光灯…

一站式数据采集物联网平台:智能化解决方案,让数据管理更高效、更安全

JVS物联网平台的定位 JVS是企业信息化的“一站式解决方案”,其中包括了基础的数字化底座、各种企业级能力、企业内常见的应用,如下图所示: 整体平台能力层有三大基础能力: 低代码用于业务的定义;数据分析套件用于数据的自助式分…

2024年1月饮料行业数据:热销品牌商品排行榜出炉!

鲸参谋监测的某东平台1月份饮料市场销售数据已出炉! 根据鲸参谋电商数据分析平台显示,今年1月份,某东平台上饮料的销量约770万件,环比上个月增长62%,同比去年下滑35%;销售额约25亿元,环比上个月…

【数据结构】特殊的线性表——栈

🧧🧧🧧🧧🧧个人主页🎈🎈🎈🎈🎈 🧧🧧🧧🧧🧧数据结构专栏🎈🎈🎈&…

torch.cuda.is_available()=False

问题: 显示torch.cuda.is_available()False 解决办法:说明这个虚拟环境不可用,删除虚拟环境,重建一个新的虚拟环境 1、删除原来的虚拟环境,假如原虚拟环境为pytorch-old,输入以下命令,先退出当…

vsto 打开excel同时同花顺插件自动登录报错

excelApp.Workbooks.Open(path, false); Svstem,Runtime,Interopservices,COMException(0x800706BE):远程过程调用失败。(号常来自 HRESULT:0X800706BE)在 Micosot olieieroo.Excelworbols0penstma fiename.0hiectUodatelinks 0biectReadony 0hedtfomat 0hiectPaswond. 0hectwt…

基于SWOT法的信阳本土房地产企业现状及对策分析

目 录 摘要 1 Abstract 1 1绪论 2 2信阳市房地产企业概述 2 2.1中小城市房地产企业概念 2 2.2信阳本土房地产企业定位 3 2.2.1信阳市概况 3 2.2.2信阳市城市规划 3 2.2.3信阳房地产企业概况 4 2.3信阳市本土房地产企业特点 5 2.4研究信阳市本土房地产企业的必要性 6 3运用SWOT…

KAFKA入门教程

目录 1.安装kafka 2.安装kafkamanager可视化工具 3.springboot整合kafka 1.pom导包 2.启动类和yml配置 3.代码演示 编写生产者: 消费者: 1.安装kafka 进入kafka官网下载对应版本kafka kafka官网地址:Apache Kafka kafka是使用Scal…

【阿里云系列】-如何实现两个VPC网络资源互通

背景 由于实际项目预算有限,两套环境虽然分别属于不同的专有网络即不同的VPC,但是希望借助一台运维机器实现对两个环境的监控和日常的运维操作 网络架构 如下是需要实现的外网架构图,其中希望实现UAT环境的一台windows的堡垒机可以访问生产…