jmeter+ant+jenkins+mac报告优化

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

1.date not defined

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

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

  在解决问题之前,让我们先弄清楚Jmeter+Ant是生成报告的原理,知道原理后我们就可以很从容的解决问题了。另外,如果后续我们想定制报告也就很容易了。

  1、在Jmeter的extras目录下,官方已经为我们提供了一个现成的实例,我们只需要在该目录下执行ant命令就可以生成一个数据文件Test.jtl和一个报告Test.html(PS:如果没有安装ant需要先去安装,不会用ant的自行百度)。

  2、知道了上一步后,接下来我们研究的重点就是extras目录下的build.xml文件了,具体研究细节就不在此细说了,因为这就部分内容属于ant的范围,有需要的可以自行补充下ant的知识。

  • 三、解决问题:

    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
 8               classpathref="xslt.classpath"
 9               force="true"
10              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中就可以按如下方式使用,经过测试证明猜测是正确的,那么第一个问题就解决了:

1 <xsl:param    name="showData" select="‘n‘"/>
2 <xsl:param    name="titleReport" select="‘Load Test Results‘"/>
3 <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="[email protected]" />
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
40             classpathref="xslt.classpath"
41             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.优化后的报告如下:

时间: 2024-12-12 10:07:27

jmeter+ant+jenkins+mac报告优化的相关文章

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

Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决方法如下: 在jenkins系统管理-脚本命令行中输入以下脚本运行: System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 运行后查看报告,可正常显示. 不过重启jenkins后又会显示异常

Jmeter+Ant+Jenkins框架搭建

为什么要做自动化测试 什么项目适合做自动化测试 选择UI自动化还是接口自动化 接口自动化工具对比 Jmeter+Ant+jekins框架搭建 一.为什么要做自动化测试? 假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误. 有点:提高效率.质量 自动化测试:人为驱动的测试行为转化为机器执行过程(在手工基础上) 二.什么项目适合做自动化测试? 1.什么项目适合?

Jmeter+Ant+Jenkins搭建持续集成的接口测试

前置条件:首先我们默认Jmeter脚本已经录制好了,并测试通过,存在如下脚本 一.Ant转换xml格式的聚合报告 前期条件:存在Jmeter聚合测试报告TestReport201510100244.jtl 1.Ant安装 下载ant地址 配置环境变量 命令行窗口输入ant 安装成功 2.将Jmeter保存的xml格式的聚合报告TestReport201510100244.jtl,放到相应的文件夹中 文件夹目录结构: D:\jemeterTest 3.编辑build.xml文件          

Meter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第1部分

目标: 创建包含性能测试流程的持续交付管道, 以尽早检测任何与性能相关的问题. 通常,全面的性能测试将在分段/预生产环境中完成,该环境可能与您的生产环境相同.在完成QA功能/回归验证后,将代码推送到分段.因此,即使QA对构建进行了认证,代码也可能无法在特定负载下按预期工作,而这些负载只能在Staging环境中找到.此性能问题需要再次进行代码更改 - >构建 - > QA验证,这可能会推迟您的生产推送! 那么,我们能否将性能测试融入现有的持续开发和测试流程中,以尽早发现性能问题? 是! 我们绝对

【此处有干货~】jmeter+ant+jenkins持续集成配置及过程中问题解决思路

本人是一枚工作近三年的小测试,大学正好专业为软件测试,在工作中用到最多的是功能测试.接口测试.压力测试.偶尔会涉及到性能测试......(小白,很多观念技术跟大佬差距太大,勿喷) 在接口测试过程当中,如果后面需要回归接口,本人采用的是jmeter+ant+jenkins进行自动化构建,在构建失败的情况下,会用过邮箱提醒的方式告知: 强烈给大家推荐一本<全栈性能测试修炼宝典 JMeter实战 pdf >,里面内容很齐全,对于测试本身还是挺有帮助的. 切入正题: 环境配置分为三部分: 第一:jme

Jmeter+ant+Jenkins环境搭建

Jmeter+ant+Jenkins环境搭建 修改时间 修改内容 修改人 2019-04-19 修改 1. 环境搭建工具列表 SN 工具名称 描述 1 JDK 根据自己系统选择安装包,建议选用最新版本 2 Ant 根据自己系统选择安装包,建议选用最新版本 3 Jmeter 根据自己系统选择安装包,建议选用最新版本 4 Jenkins 根据自己系统选择安装包,建议选用最新版本 2. JDK安装 1 应用安装 双击JDK安装包,选择安装路径(为了节省C盘系统盘空间,不建议选择默认路径.本人所有相关软

接口自动化测试框架:jmeter + ant + jenkins(二)

接上一篇文章:接口自动化测试框架:jmeter + ant + jenkins(一) 三.一个及多个jmx文件多个请求报告展示 上面只有一个请求,我们看看多个请求的效果 一个jmx多个请求 在线程组下再新增一个http请求,在同一个jmx文件内,设置好新的http请求,执行成功 重新ant下,结果如下: 多个jmx多个请求:同理,这里不继续阐述了. 四.ant调用jmeter脚本(通过jenkins) 启动tomcat中的startup,按win+r键,输入startup 不要关闭,在浏览器中输

Jmeter + ant + jenkins轻量级接口自动化测试

需要安装的工具: jdk1.8 jmeter3.2 ant1.9 jenkins2.1 1.Jdk 安装包安装 设置环境变量 验证是否安装正确 Java -version检查,如下就代表安装成功了,环境变量设置就去搜索了,网上很多. 2.Jmeter jmeter直接下载解压,然后配置环境变量就可以了 3.ANT Ant下载解压,配置环境变量,一样的操作.           window中设置ant环境变量:           以下是我电脑ant配置 ANT_HOME    D:\apach

jmeter+ant+jenkins的自动化接口测试

一.Jenkins安装配置 1.安装配置JDK1.7+环境变量: 2.下载jenkins.war,放入D:\jenkins目录下,目录位置随意: Jenkins启动方法: cmd进入Jenkins目录下,执行Java -jar jenkins.war 浏览器输入:localhost:8080可以访问Jenkins表示配置成功: 二.Ant安装配置 1.下载apache-ant-1.9.6:放入E盘,如E:\apache-ant-1.9.6,目录位置随意 2.配置环境变量: ANT_HOME