一、     使用命令行方式运行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 目录不一样,最后生成两个文件夹下。

3)命令中不写位置的话中间文件默认生成在bin下,下次执行不能覆盖,需要先删除result.jtl;报告指定文件夹同理,需要保证文件夹为空

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

1.4 结果文件

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

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

调用jmeter,并生成报告
${JmeterHome}/bin/jmeter.sh -n -t ScriptName.jmx -l log.jtl
将jtl格式转换成html格式
xsltproc ${JmeterHome}/extras/jmeter-results-detail-report.xsl log.jtl> newlog.html

说明:

jmeter-results-detail-report.xsl 、jmeter-results-report.xsl是文件转换模板,这个都可以进行编辑,比如添加一些值显示。

报告文件类型见下文。

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请求的页面

实时显示jmeter测试结果,可使用:python+Taurus+jmeter 链接

JMeter-自动生成测试报告这里提到了在windows下如何手动自动生成测试报告

bat脚本

del /s /Q D:\apache-jmeter-3.2\bin\result.jtl
rd /s /Q D:\abc\HttpReport
md D:\abc\HttpReport
jmeter -n -t D:\apache-jmeter-3.2\bin\test1.jmx -l result.jtl -e -o D:\abc\HttpReport

del是删除jtl,rd是删除报告文件夹,md是重建报告文件夹(可省略),最后执行命令生成报告。

原文出处:https://www.cnblogs.com/kongzhongqijing/p/7216693.html

jmeter 命令行运行与生成报告的更多相关文章

  1. jmeter命令行运行与生成报告

    一.     使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...

  2. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  3. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  4. jmeter命令行运行-单节点

    jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...

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

    一.     使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...

  6. Jmeter命令行执行并生成HTML报告

    前提:准备好jmeter脚本,找到jmeter配置文件查看生成的日志格式是否为csv,如果不是请改为csv 注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本1.使用命令行执行脚 ...

  7. Jmeter命令行运行实例讲解

    1. 简介 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 本文介绍windows下以命令行模式运行的方法. 1.1. 命令介绍 jmeter -n -t & ...

  8. Jmeter命令行 传递参数

    二.参数 -J 和 -G 1.格式:-J变量名=值  -G变量名=值 2.相同之处:设置jmeter属性,例如线程数.循环次数.ramp up-time等 3.不同之处:-J是设置本地jmeter属性 ...

  9. Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

    1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...

随机推荐

  1. discover面试

    电话面 英语 20191009 面试我的是一个小姐姐,她是数据挖掘分析师,声音很甜很好听.全程英文 (1)please introduce yourself in two minutes (2)我对你 ...

  2. C#中拼音模糊匹配汉字智能搜索

    准备: 微软官方出了一个专用的汉字转拼音包Microsoft Visual Studio International Pack 1.0 SR1 首先到官网http://www.microsoft.co ...

  3. static定义属性

    static关键字在Java程序开发过程中主要进行属性和方法的定义. static 定义属性: 类中的最主要的组成就是属性和方法,那么在说static之前,先看看一下问题: 范例:定义一个描述球的信息 ...

  4. Implement Queue using Stacks(用两个栈实现队列)

    来源:https://leetcode.com/problems/implement-queue-using-stacks Implement the following operations of ...

  5. [Python3] 012 元组:list,我们不一样!

    目录 0. 元组的独白 1. 元组的创建 2. 元组的特性 (1) 概述 (2) 少废话,上例子 1) 索引 2) 分片 3) 序列运算 4) 成员检测 3. 元组的遍历 (1) 简单总结 (2) 少 ...

  6. JDK11 | 第二篇 : JShell 工具

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/saHBSTo4OjsIIqv_ixigjg 一.简介 Java Shell工具是JDK1. ...

  7. Codeforces 609E (Kruskal求最小生成树+树上倍增求LCA)

    题面 传送门 题目大意: 给定一个无向连通带权图G,对于每条边(u,v,w)" role="presentation" style="position: rel ...

  8. 小白学Python(18)——pyecharts 关系图 Graph

    Graph-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import ...

  9. canvas画随机的四位验证码

    效果图如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  10. There is no Action mapped for namespace [/] and action name [TestAction] ass

    1.修改action的name值 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE strut ...