为什么需要jmeter的命令行?

性能:JAVA不是一种用于GUI的语言,进行性能测试时,建议使用命令行模式,能够节省资源,运行更多的虚拟用户。
持续集成:一般来说,jmeter不论和何种工具进行集成(如:jenkins),其本质都是和Jmeter的命令行运行有关。

配置Jmeter环境变量

https://www.cnblogs.com/sunlin1107/p/16620997.html
1.windows11桌面右键-显示设置-系统
2.点击左侧第一行:系统-右下角点击:系统信息-高级系统配置-环境变量
3. 配置环境变量第一步
1:在系统变量-新建JMETER_HOME(全部大写)环境变量,变量值为JMeter解压后的路径
变量:JMETER_HOME
值:jmeter安装路径 如:C:\jmeter\apache-jmeter-5.5
配置环境变量第二步
在系统变量中,双击classpath变量在值后面加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 点击确定
配置环境变量第三步
在系统变量中,双击“Path”变量,新建添加内容“%JMETER_HOME%\bin”,点击确定。

cmd 命令行输入jmeter,如果出现如下图可打开jmeter,则配置成功,可打开jmeter。

Jmeter的命令行参数详解

:该参数是用来显示Jmeter的参数列表
-h:该参数是用来显示jmeter的官方的命令行帮助文档。
-n:noGUI,表示以命令行模式来运行jmeter。(该参数不能单独使用,必须要结合其他参数一起使用)
-t:表示用来指定需要执行的测试脚本(testPlan)(一般来说,Jmeter的脚本后缀是*.jmx)
示例:jmeter -n -t baiduTEST.jmx
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx

-l:该参数是用来指定用于存储jmeter的测试结果的文件(一般使用*.jtl作为测试结果的文件后缀名)
示例:jmeter -n -t baiduTEST.jmx -l results/t1.jtl
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,并且将测试结果存入当前目录下的results/t1.jtl文件中。

查看测试结果:
使用GUI模式下,在任意一个监听器组件中以浏览的方式打开读取测试结果文件:

监听器右键不可直接打开读取,会报错:

Jmeter参数配置
命令行模式下执行测试,最终写入结果的数据和GUI模式下脚本所添加的监听器组件无关,和jmeter的配置文件jmeter.properties有关。
一般不保存为xml格式,一般保存为csv格式,但是csv格式下”查看结果树“无法查看响应数据,但可以用汇总报告或聚合报告查看运行结果。
注意:若**-l**的值(测试结果文件名)未改变,同一测试脚本多次运行后,测试结果会以追加方式存入结果文件。测试报告结果异常,无法参考,因此需要注意,每次运行脚本需要保存的结果文件名不可重复。
若多次运行后,保留结果的文件类型不同(csv,xml),测试结果文件无法打开,测试结果报废。

-e:该参数表示生成HTML格式的测试报告。(该参数不能单独使用,结合其他参数一起使用:-o)
-o : 该参数用来指定用于存储html格式的报告的文件夹。文件夹必须不存在或者为空。
示例:jmeter -n -t baiduTEST.jmx -l results/t2.jtl -e -o results/h2
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,并且将测试结果存入当前目录下的results/t2.jtl文件中。并且生成html报告,存入文件夹 results/h2。
-g:该参数是用来基于已经存在的jtl结果文件生成HTML报告的。(需要结合参数-o一起使用)
示例:jmeter -g results/t1.jtl -o results/h1
注意:-g生成HTML报告,仅支持csv格式的结果文件,不支持xml格式。

Jmeter生成报告的配置项主要通过jmeter-bin目录下reportgenerator.properties配置文件来控制的,主要设置的是报告的取样频率,默认一分钟,必须大于1s,1001ms。

外部传参

希望通过外部传参的方式,影响jmeter脚本的执行,防止每次需要手动在GUI界面修改脚本线程数 。
外部传参一般通过-D属性来实现参数值的传递,一个-D一次只能传递一个参数。
操作步骤:
1.脚本改造:
jmeter是通过properties变量来实现外部参数的接收和处理
需要对脚本中所有希望从外部参数获取值的地方进行改造,一般来说,将固定值替换为properties变量的调用。
函数助手;
-p或-proper
属性名称(自定义,建议有意义):如线程数:thread.num 循环次数:loop.num
默认值1
生成变量名:KaTeX parse error: Expected group after '_' at position 2: {_̲_P(thread.num,1…{__P(loop.num,1)}

在线程组页面,输入变量名代替,设置变量后保存脚本才生效!!!

2.脚本调用:
Jmeter的命令行参数中,有3个参数是和properties变量的传递有关:
-D:表示传入的是system properties (JVM),
-J:表示传入的是Jmeter properties变量
一般情况下,-D和-J是通用的,等价的。
-G:表示传入的是Global properties变量
该参数仅用于分布式负载时,从控制机向负载机传递参数值。

注意:一般来说,-D和**-J是没有区别的,而如果要进行分布式负载时,必须且只能使用-G**来实现properties变量的传递,否则负载机接收不到值。
示例:jmeter -n -t baiduTEST.jmx -l results/t5.jtl -Dthread.num=9 -Dloop.num=9
jmeter -n -t baiduTEST.jmx -l results/t5.jtl -Dthread_num=9 -Dloop_num=9
表示在命令行模式下,执行当前目录下的脚本baiduTEST.jmx,传入两个system properties变量的值,并将测试结果存入当前目录下的文件results/t5.jtl中。

JMeter 命令行测试相关推荐

  1. jmeter命令行运行-分布式测试

    秒秒开心 jmeter命令行运行-分布式测试 上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmet ...

  2. I.MX6 Android CAN 命令行测试

    /********************************************************************** I.MX6 Android CAN 命令行测试* 说明: ...

  3. 安装jdk配置环境、cmd命令行测试环境变量配置是否正确及运行java程序、安装IDEA编写代码测试

    文章目录 1.安装jdk配置环境 2.cmd命令行测试环境变量配置是否正确及运行java程序 3.安装IDEA编写代码测试 1.安装jdk配置环境 首先打开官网Oracle https://www.o ...

  4. linux bt测试命令,Android命令行测试BT,WIFI,Sensor工作状态

    //命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...

  5. Android命令行测试BT WiFi Sensor工作状态

    //命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...

  6. (OK) Android命令行测试BT,WIFI,Sensor工作状态 — svc

    http://blog.chinaunix.net/uid-25909619-id-3554423.html //命令行测试wlan //加载驱动 #insmod /system/lib/module ...

  7. 命令行测试BT,WIFI,Sensor工作状态

    //命令行测试wlan //加载驱动 #insmod /system/lib/modules/ath6kl/cfg80211.ko #insmod /system/lib/modules/ath6kl ...

  8. 命令行测试网速_3个方便的命令行互联网速度测试

    命令行测试网速 能够验证网络连接速度使您可以控制计算机. 可以通过命令行检查Internet和网络速度的三个开源工具是Speedtest,Fast和iPerf. 速度测试 Speedtest是一个古老 ...

  9. Jmeter——Jmeter之命令行测试

    一. 命令行参数 1.每次启动Jmeter都会出现下面的提示 不要使用GUI模式去负载测试,GUI模式仅仅使用为编写脚本并调试 使用非GUI模式可以节省负载机资源,测试结果更加准切 配置环境变量 ex ...

最新文章

  1. python实现录音并去燥_Python实现电脑录音(含音频基础知识讲解)
  2. 菜鸟学习计划浅谈之Linux系统
  3. Linux下如何启用MySQL数据库远程访问
  4. mysql删除表命令语句_MySQL增删改查语句命令(一)
  5. Mysql utf8 和utf8mb4 的区别
  6. Python实现机器学习
  7. mysql金钱默认字段格式化_在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?...
  8. 按键精灵基础插件介绍,值得收藏呀
  9. 无基础如何备考软考软件设计师?
  10. dvi线支持多少分辨率_dvi接口有哪几种_dvi支持最大分辨率
  11. systemverilog之覆盖率
  12. mysql workbench中PK,NN,UQ,BIN,UN,ZF,AI字段类型标识说明
  13. 【论文阅读】Stroke Controllable Fast Style Transfer with Adaptive Receptive Fields
  14. 电子商务网站之购买欲望和购买目标
  15. 闵帆老师《论文写作》心得体会
  16. 联想天逸无法进入bios
  17. 苹果手机怎么编辑word文档_Word文档怎么转化为pdf格式?办公必备方法!
  18. Java中super详解
  19. location.href 与 location.search
  20. 分页 pti_计算pti的历史

热门文章

  1. 如何快速建立自己的网站了 ??
  2. 阿里云服务器数据备份(新手教程)
  3. iOS内存警告和内存优化集合二
  4. 网页切换视频不自动暂停
  5. 如何对两个 Excel 表实现各种类型的 JOIN
  6. 学计算机怎么说霸气,史上最霸气毕业寄语,全是编程语言
  7. wordcloud红楼梦词云图出现单字怎么办?
  8. Octane Render是一款独立软件,可以不基于任何软件运行
  9. 生成mysql nt文件_linux下安装blast并创建nt数据库
  10. pbc绩效指标_绩效指标准确性