secce 发表于 2018-1-8 23:17:12

Jenkins+Jmeter+Ant自动化集成及邮件正文以html输出

<?xml version="1.0" encoding="UTF-8"?>  

  
<project name="zhtx_chaoshi" default="report" basedir=".">
  
   <tstamp>
  
         <!--format property="time" pattern="yyyyMMddkkmm" /-->
  
         <format property="date" pattern="yyyy/MM/dd kk:mm:ss"/>
  
   <!--kk是24小时制,KK是12小时制-->
  
   </tstamp>
  
   <!-- 需要改成自己本地的 Jmeter 目录-->
  
   <property name="jmeter.home" value="D:/apache-jmeter-3.1" />
  
   <property name="report.title" value="Jmeter_zhtxAPITestReport"/>
  
   <!-- jmeter生成jtl格式的结果报告的路径-->
  
   <property name="jmeter.result.jtl.dir" value="D:/Jenkins/workspace/超市自动下单/jtl" />
  
   <!-- jmeter生成html格式的结果报告的路径-->
  
   <property name="jmeter.result.html.dir" value="D:/Jenkins/workspace/超市自动下单/html" />
  
   <!-- 生成的报告的前缀-->
  
   <!-- 生成的报告的名称-->
  
   <property name="ReportName" value="DetailsReport" />
  
   <property name="ReportName2" value="SummaryReport" />
  
   <!--jtl的value值是D:\Jenkins\jmxReport\jtl\TestReport+yyyyMMddhhmm.jtl-->
  
   <!--html的value值是D:\Jenkins\jmxReport\html\TestReport+yyyyMMddhhmm.html-->
  
   <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
  
   <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
  
   <property name="jmeter.result.htmlName2" value="${jmeter.result.html.dir}/${ReportName2}.html" />
  

  

  
         <!-- 工程引用包 -->
  
         <property name="lib.home" value="D:/apache-jmeter-3.1/xjar"/>
  
         <!--jmx文件存放位置-->
  
         <property name="jmxFile" value="D:/apache-jmeter-3.1/jmx"/>
  

  
   <!--项目初始化设置-->
  
       <target name="init" description="init" >
  
       <!--删除jtl文件夹下生成的所有文件及文件夹包括空目录,但不删除根目录-->
  
          <delete verbose="true" includeemptydirs="true" >
  
             <fileset dir="${jmeter.result.jtl.dir}" >
  
                   <include name="**/*" />
  
             </fileset>
  
          </delete>
  
          <!--删除html文件夹下生成的所有文件及文件夹包括空目录,但不删除根目录-->
  
          <delete>
  
             <fileset dir="${jmeter.result.html.dir}">
  
                  <include name="**/*"/>
  
             </fileset>
  
          </delete>
  
          <!--<delete dir="${classes.home}"/>
  
          <mkdir dir="${classes.home}"/>-->
  
       </target>
  

  
   <target name="test" depends="init">

  
         <taskdef name="jmeter">  
         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
  
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
  
             <testplans dir="${jmxFile}" includes="超市订单online.jmx" />
  
             <!--声明生成的jtl文件是xml格式,否则会报错 -->
  
             <property name="jmeter.save.saveservice.output_format" value="xml"/>
  
         </jmeter>
  
   </target>
  
   <path>
  
         <fileset dir="${lib.home}" includes="xalan*.jar"/>
  
         <fileset dir="${lib.home}" includes="serializer*.jar"/>
  
   </path>
  

  
   <target name="report" depends="test" >
  

  
         <xslt

  
            >  
               force="true"
  
               in="${jmeter.result.jtlName}"
  
               out="${jmeter.result.htmlName}"
  
            >
  
               <param name="titleReport" expression="${report.title}"/>
  
               <param name="dateReport" expression="${date}"/>
  
          </xslt>
  
          <xslt

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

  

  

  
</project>
页: [1]
查看完整版本: Jenkins+Jmeter+Ant自动化集成及邮件正文以html输出