一、 使用命令行方式运行Jmeter
1、为什么
使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死。
3.1版本以后jmeter,在GUI模式启动jmeter时,会提示用户
官方都说了……所以正确的打开方式是在GUI模式下调整测试脚本,再用命令行模式执行。
2、怎么用
jmeter -n -t <testplan filename> -l <listener filename>
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
例如:
jmeter -n -t test1.jmx -l result.jtl
二、生成动态报告
JMeter3.0版本发布后,支持动态报表报告。让测试人员编写性能测试报告更加容易。以后不能黑jmeter不能生成报告了。
1、过程
执行测试文件
生成测试结果文件
生成最终的测试报告
2、准备
修改jmeter.properties
把save这块的内容基本上都改成true就行
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
#jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
# Timestamp format - this only affects CSV output files
# legitimate values: none, ms, or a format suitable for SimpleDateFormat
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss
3、命令
jmeter -n -t 【Jmx脚本位置】 -l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】
4、注意事项
不写位置的化中间文件默认生成在bin下,下次执行不能覆盖,需要先删除result.jtl;报告指定文件夹同理,需要保证文件夹为空
5、报告示例
6、报告释义
APDEX(Application Performance Index)
应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意。是由APDEX公司推出的。计算公式:
- Requests Summary
请求的通过率(OK)与失败率(KO),百分比显示。
- Statistics
数据分析,基本将Summary Report和Aggrerate Report的结果合并。
- Errors
错误情况,依据不同的错误类型,将所有错误结果展示。
- Over Time
Response Times Over Time: 响应时间
Bytes Throughput Over Time: 字节接收/发送的数量
Latencies Over Time:延迟时间
- Throughput
Hits Per Second: 每秒点击率
Codes Per Second: 每秒状态码数量
Transactions Per Second: 每秒事务量
Response Time Vs Request: 响应时间点请求的成功/失败数
Latency Vs Request: 延迟时间点请求的成功/失败数
- Response Times
Response Time Percentiles: 响应时间百分比
Active Threads Over Time: 激活线程数
Time Vs Threads: 测试过程中的线程数时续图
Response Time Distribution: 响应时间分布
三、下载插件的小方法
官方插件的下载方法
1、下载plugins manager,地址:
https://repo1.maven.org/maven2/kg/apc/jmeter-plugins-manager/0.12/jmeter-plugins-manager-0.12.jar
2、把jar包放入你的JMeter根目录下的 lib/ext 目录
3、运行jmeter,在选项中即可看到插件管理工具