jmeter批量执行脚本-ant

ANT环境准备

  1. 下载ant,下载地址:https://ant.apache.org/bindownload.cgi
    下载对应的版本,此处用windows为例,下载zip类型的,我们可以看到对jdk的要求,所以我们的jdk版本要满足

  2. 下载后进行解压缩,并且配置环境变量,此处不做过多赘述

  3. 打开cmd,运行ant -v 检查ant环境变量是否配置正确

  4. 将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中

  5. 修改jmeter.properties中找到jmeter.save.saveservice.output_format=csv并修改为xml

  6. 配置一个build.xml文件(文件下载见tips:https://www.cnblogs.com/tester-lyj/p/15928163.html)

<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="D:\softs\apache-jmeter-5.4.1" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="D:\softs\apache-jmeter-5.4.1\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\softs\apache-jmeter-5.4.1\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" />
    <!-- 接收测试报告的邮箱 -->
    <property name="mail_to" value="837378256@qq.com" />
      
    <target name="all">
        <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脚本目录,修改为自己的 -->
            <testplans dir="D:\test" includes="*.jmx" />
        </jmeter>
    </target>
    <target name="report">
        <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
    <!-- 发送邮件 -->
</project> 
  1. 运行命令 ant -f build.xml
    ant 命令
    -f 指定文件
    build.xml就是你的哪个文件名字,当然此处应该是一个能访问到的路径

如下图,执行OK
【tips】:此处可能有权限问题,因为我们的报告要创建,可能不存在文件夹,需要创建文件夹,确保运行cmd的用户是有权限创建的
使用管理员身份运行命令

  1. 运行得到结果,报告在我们指定的目录中生成

  1. 可以打开查看报告

  2. 看到上图有NA的时间,需要我们从jmeter的lib下拷贝2个jar报放到ant的lib目录中,2个jar包为:
    xalan-2.7.2.jar 和 serializer-2.7.2.jar(按照名字搜,jar包版本可能不一致)

  3. 重新运行命令执行,查看报告,时间就过来啦,至此jmeter+ant批量执行jmx脚本搞定

posted @ 2022-02-23 17:33  致命风华  阅读(576)  评论(0编辑  收藏  举报