测试积点老人 发表于 2019-10-31 13:30:58

使用ant执行jmeter脚本,build成功,但是生成的report内容都是失败

我的步骤:
1.jmeter+ant环境搭建好
2.编写jmeter脚本,并且在jmeter中执行,断言通过,然后保存脚本叫aaa.jmx
3.将\apache-jmeter-5.1.1\extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下
4.在\apache-jmeter-5.1.1\下创建temptest文件夹
5.将aaa.jmx文件复制到temptest文件夹下
6.在temptest文件夹下创建report文件夹
7.在temptest文件夹中创建build.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
      <format property="time" pattern="yyyyMMdd_hhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="D:\JMeter\apache-jmeter-5.1.1"/>
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="D:\JMeter\apache-jmeter-5.1.1\temptest\report\jtl"/>
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\JMeter\apache-jmeter-5.1.1\temptest\report\html" />
    <!-- 生成的报告的前缀-->
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.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}">
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="D:\JMeter\apache-jmeter-5.1.1\temptest" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
      </jmeter>
    </target>
   
    <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}"
            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>

8.进入temptest文件夹目录下,执行ant命令
9.build也成功了,报告也生成了,但是打开报告,全部是失败。单独执行jmeter脚本,就是全部成功的。
我问一下是build.xml文件有问题还是我的jmeter配置有问题???

海海豚 发表于 2019-11-1 10:23:58

检查下配置

qqq911 发表于 2019-11-1 11:08:48

看下日志

jingzizx 发表于 2019-11-1 13:04:18

感觉还是写的有问题

litingting0214 发表于 2019-11-1 14:24:06

检查下配置,是否配置有问题

你好浮戈 发表于 2019-11-1 14:31:29

查下日志,看下是什么原因
页: [1]
查看完整版本: 使用ant执行jmeter脚本,build成功,但是生成的report内容都是失败