(七)ANT集成Jmeter

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/91448976

安装集成参考:https://juejin.im/post/5be918f6f265da613a538c59

Ant操作为先在jmeter中写好测试计划,保存为jmx文件,在cmd窗口对应路径下执行ant命令,会完成jmx计划的执行和生成jtl文件,并将jtl文件转化为html页面进行查看。

build.xml(将build.xml与.jmx文件放在同一目录下)

build.xml文件的目的:

  • 执行指定目录下的所有jmeter脚本
  • 保存脚本执行结果
  • 根据执行结果解析成html报告,并保存到指定目录
<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
 <taskdef resource="net/sf/antcontrib/antlib.xml" />
 <!-- (1)需要改成自己本地的 Jmeter 目录 -->
<property name="jmeter.home" value="E:\apache-jmeter-5.1.1\apache-jmeter-5.1.1"/>
<property name="report.title" value="report"/>
<!-- (2)jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\jmeter\JmeterTest\resultLog\jtl"/>
<!-- (3)jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\jmeter\JmeterTest\resultLog\html"/>
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html"/>
<!--执行目标-->
<target name="run"> 
  <antcall target="test"/>  
  <antcall target="report"/>
  
</target>


<target name="test"> 
  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>  
  <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 
  <!-- (4)脚本的存放的路径-->
    <testplans dir="E:\jmeter_shell" includes="*.jmx"/>  
<!--需要在ant中指定jmeter的输出结果为xml格式,
或者修改jmeter的配置文件(jmeter.properties)输出结果为xml-->
    <property name="jmeter.save.saveservice.output_format" value="xml"/> 
  </jmeter> 
</target>

<!-- 计算Min Time、Max Time所需jar包,否则会得到NaN结果 
在jmeter-5.1.1中会执行失败
-->
<path id="xslt.classpath"> 
  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> 
</path>



<target name="report"> 
  <tstamp> 
    <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/>
  </tstamp>  
  <xslt 
  classpathref="xslt.classpath" 
  force="true" 
  in="${jmeter.result.jtlName}"
  out="${jmeter.result.htmlName}"
<!--<!--报告模板
   基本报告模板:jmeter-results-detail-report_21.xsl
-->-->
  style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> 
    <param name="dateReport" expression="${report.datestamp}"/> 
  </xslt>  

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

</project>

执行:

①cmd--切换目录到jmx脚本路径下

②命令ant

报错:

BUILD FAILED
Error reading project file E:\jmeter_shell\build.xml: Invalid byte 2 of 2-byte UTF-8 sequence.

解决方法:build.xml编码方式用UTF-8

多次执行,会将之前的执行也会显示,要手动清除jtl下文件

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/91448976
今日推荐