A. 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/Bai.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文件里。
B. mac如何安装jmeter
寻找性能测试的强大伙伴:Mac上如何优雅安装JMeter指令一:使用Homebrew安装
在终端里键入一行简洁而强大的命令:
brew install jmeter
这将启动自动安装过程,Homebrew,Mac上的包管理器,会帮我们下载并安装JMeter的最新版本,无需复杂的步骤,只需几秒钟的等待。
指令二:启动并探索
安装完毕后,我们来启动这个性能测试的好帮手。有两种方法供你选择:
现在,你的Mac上已经拥有了JMeter,准备好了迎接任何性能测试挑战。从简单的负载测试到复杂的性能基准,JMeter都将成为你性能优化旅程中的得力助手。
C. 如何用ant执行jmeter脚本
1、下载ant
2、配置环境变量
以windows下配置为例
①配置ant环境变量
ANT_HOME=D:Program Filesapache-ant-1.10.0
CLASSPATH=%ANT_HOME%lib
Path=%ANT_HOME%in
②检查ant是否配置成功:命令行输入ant -version
3、将JMeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
4、修改JMeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
5、新建一个脚本存放目录,以及报告存放目录report,将*.jmx(已经调试OK的脚本)拷贝此目录
6、在创建的目录下新建一个build.xml文件(ant自动构建文件)
7、cmd进入脚本上面创建的目录。(即build.xml所在的目录)
8、输入:ant 或 ant run(run为build.xml中的task名),即可执行脚本并生成报告
D. 命令行jmeter 提示“此时不应有 ”的解决方法
命令行输入jmeter -v 提示“此时不应有 ”
运行正常,但是无法用命令行查看版本号和调用,经过排查发现原因。
jmeter存放路径不能有空格,例如你不能把文件放入E:\Program Files (x86)目录下。
解决思路:
1、确定路径是否正确,不能有空格
2、确定环境变量配置是否正确