环境

Centos 6.5 系统
Jmeter 2.13
ant 1.9.6 : 我们需要依靠ant 将生成的jtl文件转换成我们的html报告

步骤

  1. 配置好我们的环境变量,我这里截个我的环境变量的图吧,各位按照实际情况配置
    这里写图片描述

  2. 为了能够在ant中使用jmeter task,必须将“ant-jmeter-1.1.1.jar”这个jar包放到ant的lib中去。这个jar包位置 jmeter的安装目录下的 extras 目录中。

  3. 再来就是配置我们ant需要的build.xml文件了 这个是关键。
<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>

    # 声明 Jmeter的Home路径
    <property name="jmeter.home" value="/home/cloud/jmeter/apache-jmeter-2.13" />
    # 声明生成的jtl的路径
    <property name="jmeter.result.jtl.dir" value="./jtl" />
    # 声明生成的html的路径
    <property name="jmeter.result.html.dir" value="./html" />
    # 报告的名称
    <property name="ReportName" value="TestReport" />
    # jtl的名称
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    # 这里声明了两个报告是因为采用了两份报告的模板
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
    <property name="jmeter.result.htmlName2" value="${jmeter.result.html.dir}/${ReportName}2.html" />
    <target name="all">
        <antcall target="test" />
        <antcall target="report" />
        <antcall target="report2"/>
    </target>

    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            # 这句话一定要加上 否则话报错类似于这样的错误:TransformerException,  Content is not allowed in prolog.
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
            <testplans dir="./" includes="*.jmx" />
        </jmeter>
    </target>

    <target name="report">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              # 报告采用的模板
              style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" />


        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

    <target name="report2">
        <xslt in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName2}"
              # 报告采用的模板
              style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />


        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>

关于新的测试报告的模板可以参考这篇文章New XSL stylesheet for JMeter command line results report

  1. 再来就是配置我们的Jeknins了。
    这里就直接截个图了。配置实际上是很简单的东西的。

这里写图片描述

这里执行的python脚本是为了进行重命名报告文件的用处。因为发送邮件的时候我们需要将html的结果显示在页面上。所以需要指定一个名字,但是我们又不想后续生成的报告都覆盖之前的报告。所以这里多了个重命名的操作。

这里写图片描述

报告的模板的话,建议大家百度下。有个标准的模板挺好用的。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐