• 一、在上篇博客中生成的报告有两个问题:

1.date not defined

2.Min Time和Max Time显示成了NaN

  • 二、Jmeter+Ant报告生成原理:

  1、在Jmeter的extras目录下,为我们提供了一个现成的实例,我们只需要在该目录下执行ant命令就可以生成一个数据文件Test.jtl和一个报告Test.html

  2、Jmeter的extras目录下的build.xml文件的配置。

  • 三、解决问题:

    1、找到extras目录下build.xml文件内容的如下部分:它的作用就是把生成的.jtl数据文件转换为.html格式的报告

    具体属性的含义:

    • in:生成的.jtl文件的路径
    • out:生成的.html文件的路径
    • style:从.jtl转换成.html所使用的样式,这些文件也在extras目录下,这个是最重要的部分,如果我们想定制报告可以自行定义这个文件或者从网上找一些合适的文件。
    • param:参数,这几个参数可以在style中使用,下面会讲到。
    • path:添加jar包的路径,在下面的target中有引用到(下面第1行)。
 1   <path id="xslt.classpath">   //jar路径
2 <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
3 <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
4 </path>
5 //把生成的.jtl文件转换成.html格式的报告
6 <target name="report">
7 <xslt
classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
11 <param name="showData" expression="${show-data}"/>
12 <param name="titleReport" expression="${ReportName}${time}"/>
13 <param name="dateReport" expression="${ReportName}${time}"/>
14 </xslt>
15 </target>

2、通过上面的分析,style 文件是整成报告转换的关键,那我们就打开jmeter-results-detail-report_21.xsl这个文件看看,找到如下几行,这里也定义了三个参数跟build.xml文件中一样,由此可猜测,我们只要在build.xml文件中定义dateReport这个参数和值,在style中就可以按如下方式使用,经过测试证明猜测是正确的,那么第一个问题就解决了:

 <xsl:param    name="showData" select="'n'"/>
<xsl:param name="titleReport" select="'Load Test Results'"/>
<xsl:param name="dateReport" select="'date not defined'"/>

3、对于第二个问题,其实把第1步中的代码复制到我们自己的build.xml文件中后,可以一并解决这两个问题。解决第二个总是的关键代码是第8行和第9行:

  classpathref="xslt.classpath"

  force="true"

而第8行又引用了第1~4行

4、到此,两个问题都解决了,最终修改后的build.xml文件如下,标黄的内容是解决时添加的代码

 1 <?xml version="1.0" encoding="utf-8"?>
2 <project name="JmeterTest" default="all" basedir=".">
3 <tstamp>
4 <format property="time" pattern="yyyyMMddhhmm" />
5 </tstamp>
6 <!-- 需要改成自己本地的 Jmeter 目录-->
7 <property name="jmeter.home" value="/Applications/apache-jmeter-3.0" />
8 <!-- jmeter生成jtl格式的结果报告的路径-->
9 <property name="jmeter.result.jtl.dir" value="report/jtl" />
10 <!-- jmeter生成html格式的结果报告的路径-->
11 <property name="jmeter.result.html.dir" value="report/html" />
12 <!-- 生成的报告的前缀 -->
13 <property name="ReportName" value="TestReport" />
14 <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
15 <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
16 <!-- 接收测试报告的邮箱 -->
17 <property name="mail_to" value="chengqian@souche.com" />
18 <!-- 电脑地址 -->
19 <property name="ComputerName" value="chichi" />
20 <target name="all">
21 <antcall target="login" />
22 <antcall target="report" />
23 </target>
24 <target name="login">
25 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
26 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
27 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
28 <testplans dir="/Applications/apache-ant-1.9.7/" includes="11.jmx" />
29 <property name="jmeter.save.saveservice.output_format" value="xml" />
30 </jmeter>
31 </target>
32
33 <path id="xslt.classpath">
34 <fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
35 <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
36 </path>
37
38 <target name="report">
39 <xslt
classpathref="xslt.classpath" force="true"
42 in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
43 <param name="showData" expression="${show-data}"/>
44 <param name="titleReport" expression="${ReportName}${time}"/>
45 <param name="dateReport" expression="${ReportName}${time}"/>
46 </xslt>
47 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
48 <copy todir="${jmeter.result.html.dir}">
49 <fileset dir="${jmeter.home}/extras">
50 <include name="collapse.png" />
51 <include name="expand.png" />
52 </fileset>
53 </copy>
54 </target>
55 <!-- 发送邮件 -->
56 </project>

5.优化后的报告如下:

jmeter+ant+jenkins+mac报告优化(一):解决Min Time和Max Time显示NaN的更多相关文章

  1. jmeter+ant+jenkins+mac报告优化

    一.在上篇博客中生成的报告有两个问题: 1.date not defined 2.Min Time和Max Time显示成了NaN 二.Jmeter+Ant报告生成原理: 在解决问题之前,让我们先弄清 ...

  2. jmeter+ant+jenkins+mac 报告优化(三) 使用命令行执行jmeter方式生成多维度的图形化HTML报告

    1.在构建中填写如下命令: 2.start.sh文件的内容 cd /Applications/apache-jmeter-3.0/bin/ CURTIME=`date +%Y%m%d%H%M` ./j ...

  3. jmeter+ant+jenkins+mac报告优化(二):添加90% Line和QPS

    一.优化内容 1.Summary中只标红Failures数 2.Pages页面按Average Time倒序排序 3.Average Time超过2s标黄显示 4.Pagelist 模块中针对错误和超 ...

  4. jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常

    Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...

  5. jmeter+ant+jenkins+mac环境搭建

    一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.ANT环境:http://ant ...

  6. jmeter+ant+jenkins+mac 构建后自动发送邮件

    1.安装Email Extension Plugin插件 2.进入系统管理-系统设置,按如下进行设置: ------------------------------------------------ ...

  7. jmeter+ant+jenkins生产的报告乱码

    jmeter+ant+jenkins生产的报告乱码 问题:生产报告会乱码的问题,一般是有编码格式引起的.我遇到的问题是,jmeter需要读取csv的数据作为参数.但是我们并不知道csv保存是什么编码格 ...

  8. Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)

    一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...

  9. jmeter--接口自动化jmeter+ant+jenkins

    的 一.介绍 接口自动化工具:jmeter+ant+jenkins 流程: -1.jmeter已录制或手动设置好脚本后 -2.配置ant,使用Ant工具,进行批量执行jmeter的脚本 -3.使用Je ...

随机推荐

  1. Struts2 学习记录-1--Struts2中的配置文件

    目录 1. web.xml 2. struts.xml 3. struts.properties文件 4.注解式开发 5.与Spring框架集成的配置 主要涉及3个配置文件:web.xml.strut ...

  2. MonoBehaviour.OnValidate

    [MonoBehaviour.OnValidate] This function is called when the script is loaded or a value is changed i ...

  3. 【poj2411】Mondriaan's Dream 状态压缩dp

    AC传送门:http://vjudge.net/problem/POJ-2411 [题目大意] 有一个W行H列的广场,需要用1*2小砖铺盖,小砖之间互相不能重叠,问有多少种不同的铺法? [题解] 对于 ...

  4. params must be [a-zA-Z0-9] for verification sms

    阿里短信发送短信时返回这个信息,之前是可以发送的,现在阿里应该是做了限制的.如果你的短信模板类型为“验证码”,发送的短信内容只能是包含字母和数字 所以当你的短信内容包含特殊符号和中文时,请把短信模板类 ...

  5. Unity5-CacheServer(资源平台切换之缓存服务器)的部署与使用

    不管你是个人还是团队,如果你的资源很多, 而且经常切换平台, 那你试试这个吧~~兼职爽爆了,秒秒钟实现平台间的转换. cache server主要用于资源修改后的自动重新导入功能,保证所见即所得,方便 ...

  6. 理解UV贴图

    一.理解UV贴图UVs是驻留在多边形网格顶点上的两维纹理坐标点,它们定义了一个两维纹理坐标系统,称为UV纹理空间,这个空间用U和V两个字母定义坐标轴.用于确定如何将一个纹理图像放置在三维的模型表面.本 ...

  7. api.besttool.cn 相关接口的返回码code含义列表

    code 含义 0 请求成功 100 接口不存在 101 appid错误 102 secret错误 103 参数错误                    

  8. C# 与 Java Rsa加密与解密互通

    Rsa 加密标准的制定已经过去了十多年了. 这两天在看rsa 加密的文章,基本上都是在说 .net 与 java 之间的 rsa加密是不能互通的.因为项目有用到,所以花了点时间对rsa加密做了一点点了 ...

  9. C语言命令行处理

    一.简介 getopt()函数是一个标准库调用,可允许您使用直接的 while/switch 语句方便地逐个处理命令行参数和检测选项(带或不带附加的参数).与其类似的getopt_long()允许在几 ...

  10. Linux TCP拥塞控制算法原理解析

    这里只是简单梳理TCP各版本的控制原理,对于基本的变量定义,可以参考以下链接: TCP基本拥塞控制http://blog.csdn.net/sicofield/article/details/9708 ...