jmeter学习(三十四)测试报告优化

author author     2022-08-27     402

关键词:

如果按JMeter默认设置,生成报告如下:

技术分享

从上图可以看出,结果信息比较简单,对于运行成功的case,还可以将就用着。但对于跑失败的case,就只有一行assert错误信息。(信息量太少了,比较难找到失败原因)

优化大致过程:

1、下载style文件:jmeter.results.shanhe.me.xsl

2、把下载的文件放到jmeter的extras目录下。

3、修改jmeter.properties文件如下部分,我这里都修改成true,这样执行完脚本后就会保存这些结果到.jtl文件里面:

技术分享
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
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
技术分享

4、修改后的完整build.xml文件,如下style的值修改为新下载的xsl文件名:

技术分享
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="/Users/Tools/Jmeter" />
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="/Users/Desktop/jmx/report" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="/Users/Desktop/jmx/report" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />

    <target name="run">
        <antcall target="test" />
        <antcall target="report" />
    </target>
    
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="/Users/Desktop/jmx" includes="*.jmx" />
            
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
        
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path>


    <target name="report">
        <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt 
              classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
       </xslt>

                <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

</project>
技术分享

 

5、执行脚本,生成报告如下,明显感觉展示的内容比之前的报告多很多,定位问题也比较方便直观:

技术分享

jmeter测试报告优化

如果按JMeter默认设置,生成报告如下:从上图可以看出,结果信息比较简单,对于运行成功的case,还可以将就用着。但对于跑失败的case,就只有一行assert错误信息。(信息量太少了,比较难找到失败原因)优化大致过程:1、下... 查看详情

jmeter学习(三十二)属性和变量

一、Jmeter中的属性:1、JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性2、JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值,可以用于在线程间传递... 查看详情

jmeter学习(三十六)发送https请求(转载)

  Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试。由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议。这就需要对jmeter进行设置。  (一)设置HTTP请求  我们首先右键... 查看详情

转载jmeter学习(三十六)发送https请求

Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试。由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议。这就需要对jmeter进行设置。  (一)设置HTTP请求  我们首先右键添加线... 查看详情

jmeter学习(三十)以non-gui模式进行分布式测试

由于Jmeter是一个纯Java的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的话,还可以以server模式用多个c... 查看详情

webpack配置篇(三十四):单元测试和测试覆盖率(代码片段)

说明玩转webpack学习笔记介绍编写单元测试用例技术选型:Mocha+Chai组合测试代码:describe:描述测试文件,it:一个it代表一个测试用例,except:用于断言测试命令:mochaadd.test.js测试用例的例子:add.test.j... 查看详情

jmeter学习-040-jmeter图形化html报表概要说明

JMeter3.0开始支持动态生成图形化HTMLdashboard报告,当前生成报告有一下两种方式:1、脚本测试执行结束后,即生成HTML测试报告2、通过之前生成的测试结果,生成HTML测试报告 1.首页通过命令生成的默认HTML报告首页如下所示:T... 查看详情

学习三十四

11.1LAMP架构介绍11.2MySQL、MariaDB介绍11.3/11.4/11.5MySQL安装扩展mysql5.5源码编译安装http://www.aminglinux.com/bbs/thread-1059-1-1.htmlmysql5.7二进制包安装(变化较大)http://www.apelearn.com/bbs/thread-10105-1-1.htmlLAMP架构介绍工作方式: 查看详情

我的qtcreator学习笔记(三十四)——网络编程之http与ftp(代码片段)

 参考文献:《QtCreator快速入门》第三版霍亚飞编著网络访问接口网络请求由QNetworkRequest类来表示,它也作为与请求有关的信息的容器。QNetworkAccessManager类用来协调网络操作,可以调度创建好的请求,并发射信号... 查看详情

ant_jmeter持续集成测试报告优化之添加throughput显示

上篇文章中的build文件生成的测试报告数据显示比较标准,如果想把thoughput也显示在报告里面,只需要在build文件中加入下面的脚本即可        <!--以下为增加throughput项目显示=(请求总字节数)/(t... 查看详情

jmeter+ant+jenkins测试报告优化添加qps数据显示

首先你要对报告模板xsl里面的结构清楚,这个很重要,这个很重要,这个很重要!!!。重要的事情说三遍。下次讲这个了我们来看看没加前报告的样子:650)this.width=650;"src="https://s4.51cto.com/wyfs02/M01/99/B4/wKioL1lLaMvxkKx7AABDB3b_86k944.pn... 查看详情

jmeter(四十八)_动态线程分析html测试报告(代码片段)

概述jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源。所以我们常常用命令行去跑性能脚本,得出结果同时,jmeter在命令行下还可以生成多维度的测试报告,里面包含了常用的性能指标和监听器图... 查看详情

vue2.0学习—计算属性(三十四)(代码片段)

【Vue2.0学习】—计算属性(三十四)定义:要用的属性不存在,要通过已有的属性得来原理:底层借助了Object.defineproperty方法提供的getter和setterget函数什么时候执行?初次读取时会执行当依赖的数据发生变... 查看详情

学习笔记第三十四节课

rsync工具介绍这个是个同步的工具,这个几乎每天都能用到。类似于cp和cp不一样。不同机器传输文件,备份,同台机器,A-B目录传输都可以。假设有一个A目录和一个B目录现在把A拷贝到B下去,A的数据一直在更新,每小时都要拷... 查看详情

机器学习面试题

题目一题目二题目三题目四题目五题目六题目七题目八题目九题目十 题目十一题目十二题目十三题目十四题目十五题目十六题目十七题目十八题目十九题目二十题目二十一题目二十二题目二十三题目二十四 题目二十五题... 查看详情

jmeter学习(十四)jmeter_断言使用

先说一下使用断言的目的:在request的返回层面增加一层判断机制。因为request成功了,并不代表结果一定正确。类似于QTP中的检查点检查点。断言的使用方法:step_1:在你选择的Sampler下添加对应的断言(因为不同类型的断言检查... 查看详情

jmeter测试报告汉化及脚本编写(代码片段)

....aspx?order=12,解压汉化包 3,复制解压后的汉化包放在jmeter文件下。我的路径如下:D:apache-jmeter-4.0ineport-template 重启jmeter,再执行脚本即可。以下是对脚本的优化:cdC:UsersTieChuidelresult.jtlecho删除result成功rd/sD: mpResultReportech... 查看详情

jmeter学习(三十)non-gui模式运行

...n-gui模式运行,那么我们就不得不去了解下在non-gui模式下jmeter命令的参数,下面是Jmeter官方文档中列出来的一些参数,中文注释部分为我加入的解释-h,--helpprintusageinformationandexit         #打印帮助信息 -v,--versionprintth... 查看详情