• jmeter 命令行运行与生成报告


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

    1.1 为什么

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

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

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

    1.2    怎么用

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

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

      

    1.3  示例

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

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

    例2:指定日志路径的:

    > jmeter -n -t test1.jmx -l report1-result.csv -j report1-log.log      

    例3:默认分布式执行:

    > jmeter -n -t test1.jmx -r -l report1-result.csv -j report1-log.log

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

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

    例5:生成测试报表

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

    > jmeter -n -t test1.jmx  -l  report1-result.jtl  -e -o tableresult

    注意:

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

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

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

    模板为report-template,结果目录D:apache-jmeter-3.2in esulttable

    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.2in
    esult.jtl
    rd /s  /Q D:abcHttpReport
    md D:abcHttpReport
    jmeter -n -t D:apache-jmeter-3.2in	est1.jmx  -l result.jtl -e -o D:abcHttpReport

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

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

  • 相关阅读:
    在ant编译java文件时产生debug信息
    Ant里面神奇的fork
    在ant中将依赖jar包一并打包的方法
    Java通过class文件得到所在jar包
    Bat脚本:通过端口号查找进程号
    使用emma时遇到的一些问题
    python之路-day18-反射
    python之路-day17-类与类之间的关系
    python之路-day16-类的成员
    python之路-day15-初识面向对象
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/11113807.html
Copyright © 2020-2023  润新知