• ant + jmter 执行jmter脚本并生成测试报告


    首先,要确保测试服务器上有java,ant,jmter

    安装此处就不阐述了, 下面现在说一下通过ant生成jmter测试结果报告;

    1.首先需要将jmter目录下extras目录中的ant-jmeter-1.1.1.jar 拷贝到ant 目录下lib文件夹中

    2.然后进入jmter目录下extras目录中, 执行ant命令, 测试下看是否能够生成test.jtl和test.html

    3.ant是通过build.xml来生成测试结果报告的,而build.xml中配置的都是一些脚本信息,如测试脚本路径,测试报告生成路径

       备注:Xml文件要转化为html文件,需要编写xsl文件,实际上,jmeter已经自带了xsl文件,如果你不想自己定义格式的话,可以直接使用自带的格式,这样可以省不少事情。这些文件的位置位于jmeter的extras文件夹下,只需要简单修改一些文件路径配置就可以正常使用。

    4.build.xml代码配置如下:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project name="ant-jmeter-test" default="run" basedir=".">
     3     <tstamp>
     4         <format property="time" pattern="yyyyMMddhhmm" />
     5     </tstamp>
     6     <!-- 需要改成自己本地的 Jmeter 目录-->
     7     <property name="jmeter.home" value="C:softapache-jmeter-2.11" />
     8     <!-- jmeter生成jtl格式的结果报告的路径-->
     9     <property name="jmeter.result.jtl.dir" value="C:softjmter
    esultLogjtl" />
    10     <!-- jmeter生成html格式的结果报告的路径-->
    11     <property name="jmeter.result.html.dir" value="C:softjmter
    esultLoghtml" />
    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     <target name="run">
    17         <antcall target="test" />
    18         <antcall target="report" />
    19     </target>
    20     <target name="test">
    21         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    22         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    23             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
    24             <testplans dir="C:soft	estpath" includes="*.jmx" />
    25             <property name="jmeter.save.saveservice.output_format" value="xml"/>
    26         </jmeter>
    27     </target>
    28     <path id="xslt.classpath">
    29         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
    30         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    31     </path>
    32     
    33     
    34     <target name="report">
    35         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
    36         <xslt 
    37               classpathref="xslt.classpath"
    38               force="true"
    39               in="${jmeter.result.jtlName}"
    40               out="${jmeter.result.htmlName}"
    41               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
    42               <param name="dateReport" expression="${report.datestamp}"/>
    43        </xslt>         
    44         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
    45         <copy todir="${jmeter.result.html.dir}">
    46             <fileset dir="${jmeter.home}/extras">
    47                 <include name="collapse.png" />
    48                 <include name="expand.png" />
    49             </fileset>
    50         </copy>
    51     </target>
    52 </project>
    View Code
    5.运行脚本:
    cmd进入脚本目录,然后执行ant build.xml,生成测试结果报告,
    测试结果报告输出目录:
    C:softjmter esultLoghtml:
    测试结果报告如下:
     
     
     
     
    其中需要主要关注的就是build.xml中的一些配置信息,如测试报告的路径, 以及转换过程中需要用到的文件路径。
    遇到的问题:
    如果测试报告中生成的时间为N/A, 参考以下url:
     
    参考:http://www.cnblogs.com/puresoul/p/4808416.html
    参考:http://www.cnblogs.com/puresoul/p/5053035.html
  • 相关阅读:
    《大道至简》读后有感
    关于jQuery放置位置的问题01
    javascript基础
    层叠样式表与css3基础
    经典sql语句
    java开发中的23种设计模式
    struts2漏洞以及测试
    离开贴吧大概会写下博客吧
    Set介绍
    小知识点
  • 原文地址:https://www.cnblogs.com/apnsa/p/5149048.html
Copyright © 2020-2023  润新知