Idea构建Jmeter 5.3源码

本文详细记录了在Windows 10环境下,使用Idea构建Apache JMeter 5.5源码的过程,包括环境准备、源码修改、构建步骤和导入IDEA的教程。重点在于解决5.2版本以后切换到Gradle构建时遇到的问题和注意事项。

Idea构建Jmeter 5.5源码
###背景
最近在做接口测试,有些接口的参数比较复杂,在并发请求时需要改变接口的参数,使用Jmeter自带的函数体验不是很好,所以本来想基于Httpclient自己写个接口请求,发现抓包过来的head在请求时总是报错,但是使用jmeter确实好可以请求成功,还是网络底子比较若,对http请求不是很了解,所以想抽时间学习下jmemter内部是怎么处理的,在本地构建jmeter项目时遇到的问题记录下。
关于jmeter:在网上了解到 jmeter 源码5.2以前的版本是基于ant构建的,5.2之后切到Gradle,5.2之前的构建参考 https://www.cnblogs.com/xiaozhaoboke/p/14103865.html 遇到问题解决办法看 https://blog.csdn.net/yimimomo/article/details/121808775 应该可以正常解决。本文主要说下5.2之后遇到的问题。

1.环境准备

win10 + idea2019.3.1+Jmeter 5.3源码
源码下载路径:https://archive.apache.org/dist/jmeter/source/
在这里插入图片描述

2.构建过程

将源码包解压,进入到源码包的根目录,找到如下三个文件进行修改:

#####修改插件镜像
在这里插入图片描述
#######修改build镜像

在这里插入图片描述
在这里插入图片描述
######修改Gradle下在路径,可以修改可以不修改,自带的下载也挺快的。
在这里插入图片描述
在这里插入图片描述
附:镜像地址:
maven(“https://maven.aliyun.com/repository/gradle-plugin”)
maven(“https://repo.huaweicloud.com/repository/maven/”)
maven(“https://maven.aliyun.com/repository/gradle-plugin”) 这个好像没有用。

按照上述步骤操作完后可以开始构建,上述修改不是必须的,修改的目的是为了让下载快些。下面开始构建。

3.构建Jmeter源码

3.1 先在本地环境变量配置一个环境变量:gradle 默认是会下载到c盘的,这样长时间后C盘比较大,还不好清理,随便找个空目录配置下路径就行,变量名字不能改变,改变后需要修改对应的wapper文件。
在这里插入图片描述
3.2 按照上述配置完后,进入到源码的根目录,双击执行 gradlew.bat 脚本,开始下载相关的jar包。
在这里插入图片描述
也有人一开始将源码包导入idea中,使用idea进行构建,我一开始也是这么弄的,但是经常报错,而且不好解决,这个估计和idea的运行机制有关,换这种方式,使用源码自带的构建配置进行构建比较顺利。构建完成后开始把项目导入到idea中,基本上就可以直接用了。

3.3导入项目到idea。
打开idea后先看下 构建工具中Gradle的配置,若未配置则配置下路径和GRADLE_USER_HOME 路径保持一致。
在这里插入图片描述
配置完后点击
file》new 》导入已存在在的资源》选择源码包中的 build.gradle.kts,idea 工具会自动导入。
导入成功后如下所示:点击runGui 可以运行项目,也可以使用 NewDrive 类入口进行运行,使用后者进行运行时,需要配置启动参数
在这里插入图片描述
后者:
启动参数 :-Djmeter.home=“D:\Program Files\Jmeter\apache-jmeter-5.3_src\apache-jmeter-5.3”
在这里插入图片描述

Apache JMeter 源码(apache-jmeter-5.4.3_src.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息的中间件 (MOM) 邮件 - SMTP(S)、POP3(S) 和 IMAP(S) 本机命令或 shell 脚本 TCP Java 对象 全功能测试 IDE,允许快速记录测试计划(来自浏览器或本机应用程序)、构建和调试。 CLI 模式(命令行模式(以前​​称为非 GUI)/无头模式)从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)加载测试 完整且可随时呈现的动态 HTML 报告 通过从最流行的响应格式、HTML、JSON、 XML或任何文本格式中提取数据的能力轻松关联 完全可移植性和100% Java 纯度。 完整的多线程框架允许多个线程并发采样和不同线程组同时采样不同功能。 缓存和离线分析/重放测试结果。 高度可扩展的核心: 可插拔采样器允许无限的测试功能。 可编写脚本的采样器(与 JSR223 兼容的语言,如Groovy和 BeanShell) 可以使用可插拔计时器选择多个负载统计信息。 数据分析和可视化插件允许极大的可扩展性和个性化。 函数可用于为测试提供动态输入或提供数据操作。 通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值