转载https://www.cnblogs.com/fengpingfan/p/5586711.html和http://blog.csdn.net/musen518/article/details/50251031

由于Jmeter是一个纯JAVA的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的话,还可以以server模式用多个client进行分布式测试。

一、应用场景

1、无需交互界面或受环境限制(linux text model)

2、远程或分布式执行

3、持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于生成报告

二、命令行模式优点

1、节约系统资源:无需启动界面,节约系统资源

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

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

或者

  1. 适用于Windows和linux执行机,与os无关
  2. 命令行容易扩展,比如上集成到jenkins平台,用命令行更加容易
  3. 适用于高并发测试,测试开始时,console定期打印统计数据(默认30秒一次),减少cpu消耗,提高执行机并发能力

三、参数详解

四、non-GUI命令执行

了解以上参数后,就可以开始我们的Non-GUI模式的测试了。

  1. 在 jmeter.properities文件中把#jmeter.save.saveservice.output_format=xml注释掉
  2. 开始—运行—cmd,进入到命令行模式;
  3. cd到JMeter的bin目录下,(如果配置过JMeter的环境变量,在任意目录下都可以执行);
  4. 执行命令:
cd /d D:\XXXXX\apache-jmeter-3.1\bin
jmeter -n -t D:\XXXX\scripts\test.jmx -l D:\XXXX\jmeter-Non-GUI-results\csv\html.csv -e -o D:\XXXX\jmeter-Non-GUI-results\html -j D:\XXXX\jmeter-Non-GUI-results\log\01-log.log

summary + 是增量报告

summary =  是总量报告

然后到对应的jmeter-Non-GUI-results文件夹下面查看,发现文件都保存成功。

以上,是不是很简单呢?

那么现在有这样一个问题:那如果要使用10个线程,执行10s,怎么操作呢?是不是需要修改脚本,然后再执行呢?如果还有更多场景,是不是每次都要修改脚本呢?

(如果没有集成到Jenkins上,可以通过下面设置参数的方法又或者直接修改脚本;如果一旦集成到Jenkins上,Jenkins只能对接口集成化测试,不支持压力测试,所以请勿使用参数化)

其实没这么麻烦,参数中有个 -J 参数【Non_GUI模式时传入参数使用】,我们可以使用这个参数来传参,详细步骤如下: 
1. 参数化脚本中的Number of Threads(users)【线程数】和Durations(seconds)【持续时间()秒】。 
2. 我们在测试计划中添加如下参数:

参数说明: ${__P(threads,1)} ,threads为执行脚本时传参的名称,1为默认值,如果threads
为空的时候,取值1。格式一定是:${__P(参数名,默认值)},注意中间是两个下划线。

  1. 执行脚本的时候传入参数,用 -J 参数名=value 的形式传入。
jmeter -n -t .\scripts\test.jmx -J threads=10 -J duration=10  -l .\jtl\test001.jtl -j .\jtl\test001.log
  • 1

4.执行结果: 

以上,是不是再多的场景也不怕麻烦了?直接通过传参就可以实现不同线程数和持续时间的场景测试了!

上面只写了两个参数,其它Ramp-Up Period(in second) 和Startup delay(seconds)等也是可以参数化的,这里就不一 一举例了。大家在使用过程中可以互相交流。

JMeter之non-GUI 模式执行相关推荐

  1. 非GUI模式运行Jmeter脚本

    一.应用场景 日常测试过程中发现,在大数量并发时,jmeterGUI界面经常宕机.卡死,在这种情况下我们就需要使用命令行来执行脚本了(非GUI模式). 二.命令行模式优点 1.节约系统资源,无需启动界 ...

  2. 非 GUI 模式运行 JMeter 压力测试

    非 GUI 模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用命令:jmeter -n -t <testplan filename> -l <lis ...

  3. jmeter安装包_分布式执行jmeter脚本步骤(非GUI)

    备注:[Linux查看服务器是32位还是64位命令] uname -m getconf LONG_BIT 1.Linux环境安装jmeter 可参考https://www.cnblogs.com/su ...

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

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

  5. Jmeter(GUI模式)教程

    前些天,领导让我做接口的压力测试.What??我从未接触过这方面,什么都不知道,一脸蒙.于是我从学习jmeter开始入手. 现在记录下来jmeter的使用步骤,希望能对大家有所帮助. 一.安装Jmet ...

  6. Jmeter命令行模式执行并生成HTML报告

    一.配置文件 在安装目录bin文件下找到jmeter.properties配置文件查看生成的日志格式是否为csv 二.脚本文件 准备好jmx文件,新建logs和htmls目录 三.执行脚本 1.进入到 ...

  7. Jmeter系列之no-gui模式

    VOL 141 15 2020-07 今天距2021年169天 这是ITester软件测试小栈第141次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  8. Jmeter笔记(Ⅲ) Jmeter的非GUI操作

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

  9. 使用no-gui 模式执行分布式测试

    分布式压测官网地址 https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html 1.前提 :  ...

最新文章

  1. 爬虫学习笔记(十三)—— scrapy-redis(二):存储到MySQL、Scrapy项目部署
  2. 如何实现一个权限管理系统?(附源码)
  3. Linux中文显示乱码?如何设置centos显示中文
  4. 微信小程序INC自增自减MUL自乘问题
  5. 实践App内存优化:如何有序地做内存分析与优化
  6. 机器学习 啤酒数据集_啤酒数据集上的神经网络
  7. H.264可伸缩编码SVC
  8. IIS7批量FTP客户端工具软件
  9. Excel VBA 重要参考(原始的VBA代码)
  10. iOS gmssl 编译
  11. UEFI学习——使用gRT->GetVariable读取Setup选项值
  12. 转录组测序day 1 基础知识
  13. 与计算机博弈相关的学术论文,爱恩斯坦棋计算机博弈系统的研究与实现计算机应用技术专业论文.docx...
  14. 在腾讯轻量云上搭建 CS:GO 服务器
  15. 监护仪系统都是Linux吗,基于Linux和MCU的心电监护仪设计
  16. 日期转换 NSDate 格式 格林尼治时间 时差
  17. Overture教程之五线谱介绍
  18. 基于SpringBoot+Vue的酒店管理系统(免费获取源码+项目介绍+运行介绍+运行截图+论文)
  19. 如何让word设置连续的页码,解决不同页面页码相同问题
  20. 大学计算机实验六实验报告,大学计算机实验6 实验报告.pdf

热门文章

  1. 在信息社会中计算机主要应用在哪些领域,《了解计算机在信息社会中的应用》教学设计.doc...
  2. 小学三年级奥数(和差倍问题)
  3. 软件测试培训费用多少?
  4. TI DSP 28335 看门狗(WatchDog)及通过看门狗实现中断
  5. vue移动端日历组件 mintUi dateTime picker 设定开始和结束日期
  6. 人生百味-5:低头走路与抬头看天
  7. asp.net的运行环境
  8. 201819102023王逢千禧
  9. 专访云鲸CMO:市占率近20%!品牌如何平衡小红书的“真诚”与转化?
  10. 初始C语言——运费问题