您的位置:首页 > 其它

jmeter学习记录--09--命令行运行与生成报告

2017-11-01 10:34 393 查看

一、 使用命令行方式运行Jmeter

1.1 为什么

使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死。

所以正确的打开方式是在GUI模式下调整测试脚本,再用命令行模式执行。

命令行方式支持在多个环境下使用,windosw的dos环境下,也可以在linux环境上执行。

1.2 怎么用

执行路径:执行命令前要检查当前目录是否是%JMeter_Home%\bin 目录;如果 JMeter 脚本不在当前目录,需要指定完整的路径;如果要把执行的结果保存在其他地方也要指定完整的路径。命令中不指定测试计划与测试结果的路径时,默认都是在该目录下。

命令:jmeter -n -t <testplan filename> -l <listener filename>



1.3  示例

例1:测试计划与结果,都在%JMeter_Home%\bin 目录

> jmeter -n -t test1.jmx -l result.jtl

例2:指定日志路径的:

> jmeter -n -t test1.jmx -l report\01-result.csv -j report\01-log.log

例3:默认分布式执行:

> jmeter -n -t test1.jmx -r -l report\01-result.csv -j report\01-log.log

例4:指定IP分布式执行:

> jmeter -n -t test1.jmx -R 192.168.10.25:1036 -l report\01-result.csv -j report\01-log.log

例5:生成测试报表

> jmeter -n -t 【Jmx脚本位置】-l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】

> jmeter -n -t test1.jmx -l report\01-result.jtl -e -o tableresult

注意:

1)-e -o之前,需要修改jmeter.properties,否则会报错;

2)-l 与-o 目录不一样,最后生成两个文件夹下。

模板为report-template,结果目录D:\apache-jmeter-3.2\bin\resulttable



1.4 结果文件

结果文件类型为 jtl 或 csv,测试计划里添加的哪种监听器,就可通过JMeter的相应的监听器浏览结果文件,查看最终的结果。

也可以用xslproc,将jtl格式转为html的形式。

xslproc d:\jmeter-results-detail-report_30.xsl log.jtl >newlog.html 命令待确认

报告文件类型见下文。

Python 调 Jmeter 执行参数化 jmx 脚本

Jmeter Thread Group中如果存在HTTP request执行失败,就对整个Thread Group重新执行,限定最大执行次数N次

二、 生成动态报告

JMeter3.0版本发布后,支持动态报表报告。编写性能测试报告更加容易。 这里是对生成报告示例的详细描述。

2.1 准备

修改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


2.2 命令

jmeter -n -t 【Jmx脚本位置】-l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】

命令执行测试文件,生成测试结果文件jtl,生成最终的测试报告

2.3报告示例

打开【报告指定文件夹】的index.html页面





2.5 报告释义

APDEX(Application Performance Index)

应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意。是由APDEX公司推出的。计算公式:



Requests Summary

请求的通过率(OK)与失败率(KO),百分比显示。

Statistics

数据分析,基本将Summary Report和Aggrerate Report的结果合并。

Errors

错误情况,依据不同的错误类型,将所有错误结果展示。

Top 5 Errors by sampler

top5错误

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: 响应时间分布

测试的简单过程记录:使用Jmeter测试带有Ajax请求的页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: