本文以jmeter5.5为例,扩展“TCP Socket支持定长的返回字节流”功能。
一、 源码本地编译运行
1、在jmeter官网下载源码:jmeter各版本源码地址
2、在idea中用gradle导入jmeter源码,idea中要配置jdk,gradle,我用的是jdk8,gradle7.3,如下:
此时下载依赖包,会耗时比较久!最开始我为了下载的比较快,在gradle-7.3\init.d 目录下放了init.gradle文件,并设置内容:
allprojects {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }
mavenCentral()
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
}
但最后会报一些错,在网上查了资料,最后参考的此地址,将init.gradle扩展名改成.bak文件后再重新reload gradle项目就可以了。JMeter5源码的开发调试_恰得福来的博客-CSDN博客
3、编译好源代码后,点击右侧gradle下面的development--runGui 后即可看到jmeter界面了,此时每个模块下对应的jar包也编译好了,如:
二、扩展“TCP Socket支持定长的返回字节流”功能
参考链接:
扩展JMeter TCP Socket支持定长的返回字节流 - 简书
https://github.com/XMeterSaaSService/Blog_sample_project/commit/124a648aada923c88df36efba151128ad613c10b#diff-6a92b6e1aed5e7f7ef7b3410e10e8baa4017050eeb58439952350455a4de00f7