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>
![](https://images2015.cnblogs.com/blog/430613/201707/430613-20170721102140349-2093553305.png)
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
![](https://images2015.cnblogs.com/blog/430613/201707/430613-20170721105555318-1852311552.png)
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页面![](https://images2015.cnblogs.com/blog/430613/201707/430613-20170721110225099-1091679435.png)
![](https://images2015.cnblogs.com/blog/430613/201707/430613-20170721110123286-468663091.png)
2.5 报告释义
APDEX(Application Performance Index)应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意。是由APDEX公司推出的。计算公式:
![](https://images2015.cnblogs.com/blog/430613/201707/430613-20170721110616052-1352700596.png)
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请求的页面
相关文章推荐
- JMeter学习-025-JMeter 命令行(非GUI)模式详解(三)-测试图形化 HTML 报表(dashboard)生成
- jmeter+ant+jenkins+mac 报告优化(三) 使用命令行执行jmeter方式生成多维度的图形化HTML报告
- 通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
- Jenkins+Jmeter+Ant 生成测试报告
- Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序(3)
- 命令行方式运行JMeter
- [学习记录] 菱形生成改进,仅用两个for
- 学习记录2(17/09/15于成都)
- 【Soot学习记录1】新Class文件的生成及错误处理
- scala学习-Linux命令行运行jar包传入main方法参数
- 学习记录4(17/09/18于成都)
- JMeter学习笔记16-如何输出HTML格式的性能测试报告
- java下使用TeeChart生成图表的学习记录
- 使用Ant构建web项目 从编译到测试 生成测试报告 打包 邮件发送 远程下载tomcat 部署运行一条龙服务之ant脚本
- diszuz学习记录:在htm模板文件中运行php语句
- 学习笔记 - maven 生成可直接运行jar包
- pycharm运行脚本为何不生成测试报告?
- 【原创】Selenium学习系列之(八)—Maven配置生成测试报告
- Maven学习记录3——创建、编译、打包、运行项目