zoukankan      html  css  js  c++  java
  • jmeter+ant生成html报告

    1.jdk安装

    2.jmter安装

    3.ant安装

    下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似

    ant环境变量配置

    • 新建系统变量:ANT_HOME,变量值为Ant的本地安装路径,如:ANT_HOME=D:softwareapache-ant-1.10.6
    • Path=%ANT_HOME%in
    • CLASSPATH=%ANT_HOME%lib
    • 打开命令行,输入ant -v命令,或者ant -version命令,打印ant版本号表示配置成功

    4.使用ant构建运行Jmeter,生成jtl、html格式报告

    • 修改jmeter.properties文件,jmeter.save.saveservice.output_format=xml,去掉前面的注释符
    • 拷贝apache-jmeter-3.3extrasant-jmeter-1.1.1.jar到apache-ant-1.10.6lib目录下
    • cmd命令进入apache-jmeter-3.3extras目录,运行"ant.bat -file build.xml -Dtest=Test" ,查看apache-jmeter-3.3extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功
    • 打开html格式文件,查看jmx脚本的测试报告,模板为jmter原生模板,下面自定义模板

    5.修改build.xml文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!-- build.xml编码格式为utf-8格式-->
     3 <project name="ant-jmeter-test" default="run" basedir=".">
     4     <tstamp> 
     5         <!-- 设置日期时间格式--> 
     6         <format property="datetime" pattern="yyyyMMddhhmm" />
     7     </tstamp>
     8     <!-- 引用命令"ant.bat -file build.xml -Dtest=Test"中的test属性名称,如:${test}即属性值为Test,优先引用 -->
     9     <!-- 本地存放report的路径,即html格式和jtl格式的结果报告-->
    10     <property name="reportdir" value="F:datajmeter
    eport" />
    11     <!-- jmeter中script路径 -->
    12     <property name="scriptdir" value="F:datajmeterscripts" />
    13     <!-- 本地 jmeter 目录-->    
    14     <property name="jmeter.home" value="C:softwareapache-jmeter-4.0" />
    15     <!-- 报告标题--> 
    16     <property name="report.title" value="接口测试"/>
    17     <!--如果名称name为命令ant.bat -file build.xml -Dtest=Test中的test属性名称,则优先引用test属性值即Test,不会再引用value值--> 
    18     <property name="test" value="ReportName"/> 
    19     <!-- 生成报告名称引用当前设置的值-->   
    20     <property name="ReportName" value="TestReport" />
    21     <!-- 报告名称加入当前时间${datetime},如:${reportdir}/${ReportName}${datetime}.html-->
    22     <property name="jmeter.result.jtlName" value="${reportdir}/${ReportName}.jtl" />
    23     <property name="jmeter.result.htmlName" value="${reportdir}/${ReportName}.html" />
    24     <!-- 报告的输出格式"xml"-->
    25     <property name="jmeter.save.saveservice.output_format" value="xml"/>
    26     <!-- 引用jar路径-->
    27     <path id="xslt.classpath">
    28         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
    29         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    30     </path>
    31     <!-- 运行了两个标签中的内容-->  
    32     <target name="run">
    33         <!--测试脚本标签对应下面的jMeter脚本-->
    34         <antcall target="test" />
    35         <!--测试脚本标签对应下面的jMeter脚本后产生测试报告的--> 
    36         <antcall target="report" />
    37     </target>
    38     <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="test" /> target值对应-->
    39     <target name="test">
    40         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    41             <!-- 命令运行jmeter后,会生成jtl文件,html文件通过获取jtl文件内容展示报告-->
    42             <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    43                 <!-- 声明要运行的脚本,可以是一个脚本或者全部脚本,"*.jmx"指包含此目录下的所有jmeter脚本-->  
    44                 <testplans dir="${scriptdir}" includes="${test}.jmx" />
    45             </jmeter>
    46     </target>
    47      <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="report" /> target值对应-->     
    48     <target name="report">
    49         <tstamp>
    50             <!-- 设置测试报告的日期时间格式,大写HH-24小时,小写hh-12小时-->
    51             <format property="report.datetime" pattern="yyyy/MM/dd HH:mm" />
    52         </tstamp>
    53         <!-- 将jtl格式转换成html格式报告,及导入样式模板style-->
    54         <xslt classpathref="xslt.classpath"
    55               force="true"
    56               in="${jmeter.result.jtlName}"
    57               out="${jmeter.result.htmlName}"
    58               style="${reportdir}/jmeter.results.shanhe.me.xsl">
    59             <param name="titleReport" expression="${report.title}"/>
    60             <!-- param参数是引用style文件中的样式参数-->
    61             <param name="dateReport" expression="${report.datetime}"/>
    62         </xslt>
    63         <copy todir="${reportdir}">  
    64             <fileset dir="${jmeter.home}/extras">  
    65                 <include name="collapse.png" />  
    66                 <include name="expand.png" />  
    67             </fileset>  
    68         </copy>  
    69     </target> 
    70 </project>

    6.配置测试报告样式

    下载合适的style样式模板

    build.xml对应style文件修改

    修改jmeter.properties

    7.自定义测试报告

    在本地创建一个存放report和script的目录:如:F:datajmeter eport,F:datajmeterscript

    把build.xml文件和样式模板文件style都放入该目录下

    cmd命令进入report目录后,执行ant.bat -file build.xml -Dtest=脚本文件名(不需要后缀),report目录自动生成jtl和html文件,ant -h查看命令的使用

  • 相关阅读:
    迭代器(Iterator)的使用
    xml转array
    linux 常用命令
    yii2 httpClient的用法
    将普通用户添加到sudo
    yii2 注册一个新事件(trigger Event)
    解决IDEA输入法输入中文候选框不显示问题(亲测谷歌拼音完美解决问题)
    5个用/不用GraphQL的理由
    Linux 用户必须知道的 14 个常用 Linux 终端快捷键
    java执行系统命令, 返回执行结果
  • 原文地址:https://www.cnblogs.com/cty136/p/11392929.html
Copyright © 2011-2022 走看看