Jtl文件
文件的实际类型:自定义
定义方法:
修改{jmeterhome}/bin/jmeter.profile,可选择格式:csv,xml,db
# legitimate values: xml, csv, db. Only xml and csv are currently supported.
#jmeter.save.saveservice.output_format=csv
Jmeter运行模式及参数
GUI模式
打开已有的jmx文件(文件——打开)
点击启动按钮运行
由于GUI模式本身就是带界面的,也有中文版,就不在此详细介绍了。
命令行模式
依赖:
配置jmeter环境变量(windows下为将${jmeterhome}/bin加入Path变量)
如果未加入环境变量,在执行的时候可以直接给出全路径或在${jmeterhome}/bin下执行
命令:
jmeter -n -t
参数:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l jtl文件 -> 记录结果的文件
-r 远程执行 -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
-j 日志文件->设置JMeter日志文件的名称
实例:
JMeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
执行步骤:
JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C:\tools\apache-jmeter-2.11\bin 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,可以使用绝对路径告诉 JMeter。
执行过程查看:
D:\apache-jmeter-3.0\bin>jmeter -n -t D:\共享\bpintocpin.jmx -l D:\共享\test.jtl
Writing log file to: D:\apache-jmeter-3.0\bin\jmeter.log
Creating summariser
Created the tree successfully using D:\共享\bpintocpin.jmx
Starting the test @ Fri Jun 17 15:12:21 CST 2016 (1466147541295)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary = 1 in 00:00:01 = 0.8/s Avg: 1178 Min: 1178 Max: 1178 Err: 0 (0.00%)
Tidying up ... @ Fri Jun 17 15:12:22 CST 2016 (1466147542649)
... end of run
执行结果查看:
GUI界面打开聚合报告
在GUI界面创建一个聚合报告
聚合报告界面点击浏览,选中生成的.jtl文件,打开
t012ce133ecdda98142
执行过程中查看
summary = 1 in 00:00:01 = 0.8/s Avg: 1178 Min: 1178 Max: 1178 Err: 0 (0.00%)
jtl文件转化成html格式查看
通过xslt工具转化成html格式(保存格式必须为xml格式)
Jmeter常用控件
t01a3feb1db1f72f38a
测试计划(Test Plan)
控件截图:
t01f6f6430f0ec7a877
理解:包含一个测试的所有内容,包含所有的控件,属性,变量。所以一个jmx文件中只有有一个测试计划。测试计划中可以定义变量,引入jar包,编辑测试模式等。
注意事项:
可将一些不常变化的数据存入测试计划的变量,方便在测试计划内调用(例如服务器ip,端口,数据库ip等)。
函数测试模式会记录来每个请求到服务器的取样结果,如果在监听器中定义了数据写入文件,会将这些输入写入到该文件中。同时,该模式会严重影响性能。
工作台
控件截图:
t0100a40758e73b8534
理解:控件的暂存区域,在测试过程中可以把暂时不用的控件放入其中,待测试完成后放回原来的位置。
注意事项:工作台中的控件不会保存在jmx文件中,所以,如果关闭jmeter,工作台中的控件会丢失。
常用控件:
Property Display
创建方式:右键点击工作台,添加——非测试元件——Property Display
截图:
t016ea42b2349c1d08f
功能:查看当前测试计划中的属性以及系统中的属性
线程组( Threads (Users))
理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。
注意事项:线程间变量相互独立。一个测试计划内可以包含多个线程组。
可定义内容:
取样器错误后执行的操作:继续执行,启动下一个线程,停止线程,停止测试,立刻停止
线程属性:线程数量,线程启动间隔时间(0为立刻启动所有线程),单线程循环次数,线程执行顺序,是否使用调度器。
调度器配置:持续时间,启动延迟,启动时间,结束时间
线程组(Thread Group):
控件截图: