前言

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

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

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


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

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

一、运行及查看结果

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

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

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

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

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

具体见下图:

 
 
 

二、参数化常用变量

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

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

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

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

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

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

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


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

-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-J 是设置本地jmeter属性,引用变量参数

-G 是设置server的jmeter属性

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

-H 代理主机 -> 设置 JMeter 使用的代理主机

-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. SQL Server 临时表和表变量系列之选择篇

    原文地址:https://yq.aliyun.com/articles/69187 摘要: # 摘要 通过前面的三篇系列文章,我们对临时表和表变量的概念.对比和认知误区已经有了非常全面的认识.其实,我 ...

  2. 进程间通信——LINUX

    1.编写一段程序,使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进  程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill( )向 ...

  3. 什么是ORM?为啥要是用ORM?

    了解orm,先了解以下概念: 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘).持久化的主要应用是将内存中的数据存储在关系型的数据库中 ...

  4. Centos7下gogs数据配置迁移

    工作需要把测试版的gogs迁移到正式版gogs,顺便记下笔记防止以后需要忘记了 环境: centos7测试版gogs:192.168.1.63 centos7正式版gogs:192.168.0.100 ...

  5. Java jni字符串转换

    1.jstring转QString 对于Qt5.2以上(含)可以用QAndroidJniObject::toString(),详见这里:https://stackoverflow.com/questi ...

  6. Android Studio 学习Demo内容及一些bug处理技巧 -----个人技术文档,两次冲刺总结

    实现的基本内容 1.基本界面的注册(包括转换界面,隐式,显式注册,主界面的入口注册) 2.匿名内部类实现Button按钮的监听事件,并通过Toast进行显示 3.界面切换(显式.隐式) 4.调用浏览器 ...

  7. java返回值是list的时候获取list的参数类型

    Type[] resultArgType = null; Type resultType = method.getGenericReturnType(); if (resultType instanc ...

  8. UI开发学习指南

    UI:UI单元.导航.组建(增删查改).布局.风格(字体.字色): 事件处理:

  9. go协程

    一.并发&并行 一个应用程序  ---> 一个进程 ---> 运行在自己内存地址空间里的独立执行体 ---> 同一个内存地址空间的一起工作的多个线程 一个并发程序 ---&g ...

  10. Java中关于AbstractQueuedSynchronizer的入门(二)

    AQS是一个同步器的基础类,里面的关键字段: //如下关键字段都是volatile类型 /** * Head of the wait queue, lazily initialized. Except ...