前言

使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资源。优点如下:
1、节约系统资源:无需启动界面,节约系统资源

2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱

3、易于持续集成:可通过shell脚本命令执行


本文介绍linux下以命令行模式运行的方法。

  1. sh jmeter.sh -n -t <testplan filename> -l <listener filename>
  2. 示例: sh jmeter.sh -n -t test.jmx -l test.jtl
  3.  
  4. 示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl
  5. 日志默认输出路径同jmx脚本路径。可自行设置绝对路径

一、运行及查看结果

1、进入\jmeter\bin目录,执行命令,如下图:

上述测试结果展示为:执行4条用例,错误率为0.00%,Avg平均响应时间为1251ms.
 

2、查看结果
上述的命令有要求测试结果保存到test.jtl中,如果需要可以在GUI模式下查看测试报告。

步骤:打开Jmeter GUI界面 -> 在测试计划下,添加对应的测试报告元件(聚合报告、查看结果树) -> 选择对应的日志文件。

⚠️需要看什么报告,就添加什么报告测试元件!!!

具体见下图:

 
 
 

二、参数化常用变量

在linux中,使用非gui的方式执行jmeter。若需更改参数,必须先编辑jmx文件,找到对应的变量进行修改,比较麻烦。因此可以参数化一些常用的变量,直接在Jmeter命令行进行设置。

  1. __P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。
  2. 例如:${__P(hostname,XXX)}:返回属性hostname的值,如果没有定义该属性则返回值XXX

1、以设置本地jmeter属性为例,先在windows下编辑脚本,将线程数、循环次数、ramp up-period等参数化。

如下图:定义四个变量和变量对应的默认值。

例如${__P(threadNum,1)},表示变量threadNum的默认值为1。

 
2、保存脚本,上传到linux中,执行命令
  1. sh jmeter.sh -n -t /home/ubuntu/jmeter1/test.jmx -J threadNum=
  2. -J period= -J time= -l /home/ubuntu/jmeter1/test.jtl

3、再次运行脚本时,无需编辑脚本,只需要在执行命令中更改threadNum、period和time的值,即可修改线程属性.


三、非 GUI 模式运行测试脚本可以使用的命令

  1. -h 帮助 -> 打印出有用的信息并退出
  2. -n GUI 模式 -> 在非 GUI 模式下运行 JMeter
  3. -t 测试文件 -> 要运行的 JMeter 测试脚本文件
  4. -J 是设置本地jmeter属性,引用变量参数
  5. -G 是设置serverjmeter属性
  6. -l 日志文件 -> 记录结果的文件
  7. -r 远程执行 -> Jmter.properties文件中指定的所有远程服务器
  8. -H 代理主机 -> 设置 JMeter 使用的代理主机
  9. -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

以上对你有帮助的话,点个赞吧~

Jmeter(非GUI模式)教程的更多相关文章

  1. Jmeter非GUI模式运行

    非GUI模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用的命令: jmeter  -n  -t  脚本文件路径   -l   结果输出文件路径   -j   日志文 ...

  2. Jmeter非GUI模式启动

    首先我们需要了解,GUI和非GUI模式启动Jmeter对测试的影响:Jmeter可视化界面及监听器展示结果需要消耗负载资源,从而导致,在大并发的情况下GUI方式会导致负载机资源紧张,对性能造成影响 e ...

  3. jmeter非GUI模式如何压测并生成测试报告

    在启动Jmeter时,我们会看到这样一句提示: 不要使用GUI模式(界面模式)进行负载测试,GUI模式只能用于创建测试和调试.进行负载测试时,需要时用非GUI模式. 那么为什么进行负载测试时一定要用非 ...

  4. jmeter 非GUI模式下传参

    为什么要使用非GUI模式?--因为GUI模式下运行的时候消耗的内存比非GUI模式大,会使得压力测试的结果不准确. 根据参数类型分为两种:jmeter.properties和system.propert ...

  5. 『动善时』JMeter基础 — 55、JMeter非GUI模式运行

    目录 1.JMeter的非GUI模式说明 2.为什么使用非GUI模式运行JMeter 3.怎样使用非GUI模式运行JMeter (1)非GUI模式运行JMeter步骤 (2)其它参数说明 4.CLI模 ...

  6. jmeter非GUI模式命令

    一.如果没有.jtl文件,运行如下命令: jmeter -n -t baidu.jmx -l result.jtl 以非GUI形式运行Jmeter脚本jmeter -n -t baidu.jmx -l ...

  7. jmeter 非GUI模式下测试报错An error occurred: Unknown arg:

    D:\download\性能工具\JMeter\apache-jmeter-2.11\apache-jmeter-2.11\bin>jmeter -n -t E:\性能测试\jmeter scr ...

  8. jmeter 非gui 模式跑jmx

    D:\study\apache-jmeter-3.0\bin>jmeter -n -t D:\study\apache-jmeter-3.0\基金排行.jmx -l D:\study\apach ...

  9. JMeter非GUI模式下日志介绍

    Creating summariser <summary> Created the tree successfully using /opt/JMeter/TestPlan/test.jm ...

随机推荐

  1. EF 更新部分字段写法

    EF 更新部分字段写法 1.EF默认是查询出来,修改后保存: 2.设置不修改字段的IsModified为false,此方法不需要先从数据库查询出实体来(最优方法): db.Set<T>() ...

  2. 校园网下对VMware网络的配置

    1.参考:https://jingyan.baidu.com/article/8275fc8675c22646a03cf6b8.html 2.因为校园网的每一次连接都是自动获得IP地址的,所以虚拟机要 ...

  3. rpm安装时出现循环依赖

    在安装git包时提示要安装perl-git,当安装perl-git时又提示要安装git包.报错如下: [root@racdb1 Packages]# rpm -ivh perl-Git-1.7.1-4 ...

  4. Hadoop2.7.6_08_Federation联邦机制

    前言: 本文章是在  Hadoop2.7.6_07_HA高可用  的基础上完成的,所以不清楚的可参见这篇文章. 1. Hadoop的federation机制 文件的元数据是放在namenode上的,只 ...

  5. Hadoop2.7.6_06_mapreduce参数优化

    MapReduce重要配置参数 1. 资源相关参数 //以下参数是在用户自己的mr应用程序中配置就可以生效 () mapreduce.map.memory.mb: 一个Map Task可使用的资源上限 ...

  6. Android集成讯飞语音、百度语音、阿里语音识别

    项目实践:https://blog.csdn.net/Jsagacity/article/details/80094164 demo下载地址:https://fir.im/jy28 demo源码:ht ...

  7. MetaMask/obs-store

    https://github.com/MetaMask/obs-store ObservableStore ObservableStore is a synchronous in-memory sto ...

  8. ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇)

    ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇) 本文主要转载 [  http://www.cnxdug.org/?p=2511 ] 有部分细节自己实验添加,再此谢谢前辈. ...

  9. springboot读取配置文件的顺序(转)

    也就是说:springboot会默认先加载项目外部的配置文件,覆盖内部的配置文件!所以导致项目一直使用的错误的配置! 强烈建议:不要把项目和application.properties配置文件放在一起

  10. 高性能mysql之慎用BLOB与TEXT

    文章转自 https://blog.csdn.net/john1337/article/details/70919212 BLOB与TEXT是为了存储极大的字符串而设计的数据类型,采用二进制与字符串方 ...