性能测试 —— Jmeter 命令行详细

我们在启动Jmeter时

会看见:Don't use GUI mode for load testing !, only for Test creation and Test debugging.For load testing, use CLI Mode (was NON GUI)

这句话的意思就是说,不要使用gui模式进行负载测试,gui模式仅仅是创建脚本和调试脚本,你要是进行负载测试,使用NONGUI模式--也就是命令行模式。

两个方面

第一个方面从性能角度出发,命令行模式性能相对于GUI模式要好,能够节省更多的资源,测试结果相对准确。

第二个方面从持续集成角度出发,有过这方面实战的小伙伴都知道,在集成里面往往使用的是命令行执行。

常见命令:-? : 列出jmeter的命令行参数及简要说明。

-h : 列出jmeter提供的帮助文档。
-n : 表示使用命令行模式启动jmeter,必选参数
-t : 表示指定要执行的jmeter的脚本,属于必选参数
-l : 表示指定存放测试结果的文件为了方便理解。

我是这么记住的,首先我们得告诉jmeter我要用命令行模式,-n,我们要告诉jmeter,执行那个脚本 ,-t 脚本执行完了结果在哪里 ,-l 指定结果路径。

jmeter -n -t php论坛.jmx -l result/t1.jtl执行php论坛.jmx脚本,结果存放到 result文件夹下的t1.jtl文件里面。GUI模式:

生成报告:

-e : 表示生成html格式的报告该参数常和-o联用

-o : 表示指定用于存储html格式的报告的目录jmeter -n -t php论坛.jmx -l result/t3.jtl -e -o result/h1将报告存放在result h1中。

这个时候我们就遇见了一个问题:每跑一次脚本我的这个线程组合循环次数啊都要改,实在太麻烦了

修改脚本:将需要进行参数处理的值替换为对应的_P()函数。

传参使用

-D : 表示在命令行模式下传递jmeter的properties变量

-G:作用和用法和-D类似,区别在于,如果使用分布式测试,则必须使用-G例子:jmeter -n -t php论坛.jmx -l result/t2.jtl -Dthread.num=6 -Dloop.num=6 -e -o result/h1

有个小问题:如果 你使用的是powershell,-D后面的参数要加空格,如果是cmd 不要加空格,我们来看一下报告。

我们就可以看到报告了

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
网络安全-杰克1 小时前
2026面试自动化测试面试题【含答案】
自动化测试·软件测试·面试·职场和发展
Wentao Sun2 小时前
致敬软件创业者2026
笔记·程序人生
软件检测小牛玛2 小时前
软件功能测试找谁做?第三方软件检测机构推荐:中承信安
功能测试·单元测试·软件测试报告·软件功能测试·第三方软件测评
CodeSheep程序羊3 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
郝学胜-神的一滴4 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
网络安全-杰克7 小时前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
John_ToDebug8 小时前
在代码的黄昏,建筑师诞生:从打字员到AI协作设计者的范式革命
人工智能·程序人生
拾光师8 小时前
CentOS 7 老树开新花:从零部署 Dify 全栈应用(含 Go/Rust/GCC 升级避坑)
程序人生
DolitD9 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
网安墨雨9 小时前
Python自动化一------pytes与allure结合生成测试报告
开发语言·自动化测试·软件测试·python·职场和发展·自动化