Jmeter 命令行(非GUI模式)执行详解
作者&投稿:熊相 (若有异议请与网页底部的电邮联系)
JMeter执行方式有两种,一种是GUI模式,一种是非GUI模式。
GUI模式就是界面模式,非GUI模式就是命令行模式。GUI模式主要用来编写和调试脚本用的,接口的性能测试最好是采用命令行模式,因为该模式可以和其它框架进行对接,进行自动化测试平台的集成。
非GUI模式适用场景:
1、更省资源,更容易实现多工具集整合;
2、当访问的接口服务需要通过代理服务器才能完成的;
3、当一台机器产生的压力不够时,采用分布式多机远程执行模式,使得一台主控机可以控制多台压力机,同时生成更多的压力请求,达到客户端能模拟大并发请求的目的;
4、可以通过外部传参,让命令行将数据传入到脚本中,使得外部系统调用jmeter时候能更好的进行集成和传参,比如通过jenkins启动和执行接口自动化时,将参数从jenkins的界面传入到jmeter中,就是通过命令行参数进行桥接的。
优点:
1、节约系统资源,无需启动界面
2、便捷快速:仅需启动命令行,输入命令便可执行
3、易于持续集成:可通过shell脚本命令执行
参数详解:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-J 是设置本地jmeter属性,引用变量参数
-G 是设置server的jmeter属性
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
使用方法详解:
前提:为了方便管理,在jmeter的安装目录bin下创建一个文件夹testscript用来存放脚本(.jmx文件),再创建一个文件夹testresult用来存放脚本执行后的结果文件。
一、使用JMeter非GUI模式
1、将要测试的jmeter脚本放到testscript目录下
2、cmd打开命令行模式
3、进入到Jmeter安装目录下的bin目录下
4、执行命令:jmeter -n -t examples\testscript\apd_v3.7_perf.jmx -l examples\testresult\apd3.7-reslut.jtl -j report\01-log.log
可以看到以下信息
summary+ 是开始这个时点的报告。
summary= 是总结它之前的报告,呈现出的是当前时点之前总的情况,通常是均值。
最后一个summary=是本次压测总的情况,如果脚本按时正常结束的话,最后一次summary里面的值应该和你从GUI打开聚合报告或概括报告的值一致。
二、无界面分布式压测
当并发量过大单机无法承担需要做分布式压测
执行方法:
1、把脚本和参数文件存放到各台终端相同目录下
2、将每台终端的jmerter-server.bat打开等待主机发号施令
3、在主机命令窗口键入类似以下命令:
jmeter.bat -n -t testscript/Baidu.jmx -R 192.168.182.129:1100,192.168.182.130:1200 -l testresult/01-result.jtl -j report\01-log.log
命令中-R代表远程 remote ,后面跟随的是每台终端机jmeter-server窗口显示的 ip 和端口,同样,多台终端之间由逗号隔开,其他都与单机命令一样。于是可以看到各台终端机的jmeter-server窗口有关运行和阶段性summary的信息直至运行结束。总体的报告都在你主机保存的那个.jtl文件里。
由中牛黄: 1、jmeter的架构和loadrunner原理一样,都是通过中间代理,监控和收集并发客户端发出的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈结果的一个过程;2、分布式中间代理功能在jmeter中也有
郫县18285226201: jmeter 非gui 模式下怎么得到cpu,内存的结果文件? - ?
由中牛黄: 区别大了.gui:界面会消耗很多资源,并且运行的结果是保存在jmeter运行的内存中.当时间一长,内存增长到一定程度,就会报错,甚至假死.非gui:实时的将运行log文件保存到本地文件中,不会撑爆内存.并且对机器的资源占用也较少.
郫县18285226201: jmeter之怎么减负 - ?
由中牛黄: jmeter之如何减负-实现稳定超高并发测试(性能调优) 在测试过程中,初学者(也包括早期的我),使用工具不当,添加众多监控组件,非 常想看到实时报告,跑不了一会,jmeter就卡死甚至oom,只得重启,之前的统计报告没了,非常郁闷....
郫县18285226201: 为什么jmeter非gui模式启动提示写日志失败 - ?
由中牛黄: 非GUI模式包括在Windows和Linux下运行,小编在这里演示Windows下使用DOS命令运行,Linux下与之类似.2 使用Badboy录制脚本导入JMeter后调试脚本正常运行,并配置好线程数、循环数、调度器等,
郫县18285226201: loadrunner jmeter哪个更适合做性能测试? - ?
由中牛黄: JMeter更胜任.作为性能测试工具,首先看功能性:Critical Features:1、支持HTTP/HTTPS协议,能够发送HTTP/HTTPS request;2、支持用户场景(借用了LR中的词汇),能够以某种比例在不同的业务上分布用户数量;3、支持事务;4、支持...
郫县18285226201: matlab命令有几种执行方式? 他们各有什么特点? - ?
由中牛黄: 1. 命令行:直接在窗口输入指令. 2. 编写m文件/函数文件:在文件中写好指令文件后可以整批执行 3. GUI:在后台写好指令后通过图形用户界面执行.
郫县18285226201: Linux如何进入纯命令行界面? - ?
由中牛黄: 需要设置linux的启动模式即可进入,具体操作步骤如下: 1.编辑文件“/etc/inittab”. 2.将id“5:initdefault”改为“3:initdefault”, 3.保存并退出,下次启动就直接进入命令行界面了.改动的数值是linux启动运行级别,取0~6,各级别意义如下: ...
郫县18285226201: 怎样打开命令行模式 什么叫命令行模式?
由中牛黄: WIN下是WIN+R,输入CMD.exe 估计您不会指的是Linux的终端 至于您如果用过DOS,您应该可以知道命令行. 命令行,指的是和计算机通过指令交互,而不是GUI图形界面.Windows 2000以后的内核都与DOS无关了,所以命令行只是个“仿真”的DOS,并不是所有DOS的指令都可以在WIN下执行.
郫县18285226201: Jmeter用命令执行后生成测试文档.jtl 怎么生成html测试报告 - ?
由中牛黄: Jmeter生成html测试报告:1、安装ant.到ant官网下载最新版本ant,解压到本地,配置环境变量.打开cmd.exe执行ant -version 如下图,安装成功.2、将jmeter的脚本**.jmx放入jmeter本地目录extras文件夹下.3、打开cmd.exe.cd 进入extras目录.执行 ant -Dtest=**.**代表jmeter的脚本.见到success说明执行成功,在extras文件夹下可以看到**.jtl**.html4、打开html可以看到测试报告
郫县18285226201: 如何配置,切换Linux命令行界面和GUI图形界面 - ?
由中牛黄: 其实你在GUI图形界面里面可以打开terminal操作命令行命令 为什么还需要切换到terminal界面呢