Jmeter 批量执行脚本之-----------Ant
一、环境介绍&准备:
1)jmeter3.2版本,需配备jdk1.8(或其他jmeter版本);
2)ant下载,并配置环境变量:
a.下载地址:http://ant.apache.org/bindownload.cgi
b. 配置环境变量:

c.检查是否生效:命令行输入ant -v,出现以下表示成功

3)拷贝jar包:将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
4)修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
二、脚本准备
1)将需要运行的jmeter脚本(jmx格式)放入到一个任意文件夹中,一会ant执行时会用到
      
三、build.xml文件
1)注意修改jmeter目录和脚本目录
    
2)奉献源码:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="E:\software\apache-jmeter-3.2" />
	<property name="jmeter.dir" value="jmx" />
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="${jmeter.home}\${jmeter.dir}\report\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="${jmeter.home}\${jmeter.dir}\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.jtl.dir}/${ReportName}${time}.jtl">
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
            <testplans dir="${jmeter.home}\${jmeter.dir}" includes="*.jmx" />
              <property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
    </target>
<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>
<path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path>
</project>
3)将该build.xml 文件拷贝到一个目录下
    
四、执行脚本
1)进入命令行,进入build.xml文件所在目录,执行ant命令。
红框内的2个jmx文件就是我们期初jmx文件夹中待执行的脚本
      
五、查看结果:
       
        
六、过程中遇到的问题
1)执行ant时报错
    
纠结了半天,终于找到原因:
本地jdk是1.7的版本,但是jmeter是1.8,所以在修改了ant.bat文件,添加了Java_HOME后正常了。
      
2)需要注意的地方:第一步环境准备很重要
Jmeter 批量执行脚本之-----------Ant的更多相关文章
- 通过ANT实现jmeter批量执行脚本、生成报告、发送邮件全套build.xml文件
		
在开始通过ANT运行build.xml之前,有一步必须要做,那就是将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant ...
 - Oracle批量执行脚本文件
		
以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name va ...
 - 通过SqlClr制作Sql自动化批量执行脚本
		
原文:通过SqlClr制作Sql自动化批量执行脚本 通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个 ...
 - SaltStack 批量执行脚本
		
这里演示如何使用 salt-master 对多台 salt-minion 批量执行脚本,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配 ...
 - 使用sqlplus批量执行脚本的总结
		
当然,我们可以在plsql中执行,但是在实际生产环境中,可能更多的是使用简便的sqlplus.步骤如下: 1.登陆client sqlplus connect <username>/< ...
 - linux集群自动化搭建(生成密钥对+分发公钥+远程批量执行脚本)
		
之前介绍过ansible的使用,通过ssh授权批量控制服务器集群 但是生成密钥和分发公钥的时候都是需要确认密码的,这一步也是可以自动化的,利用ssh + expect + scp就可以实现,其实只用这 ...
 - bat+sqlcmd 批量执行脚本
		
Hello,此BAT脚本能够帮助开发者将某目录下全部SQL脚本按文件名称依次在指定数据库中批量执行. 不用忍受powershell invoke-sqlcmd 的笨重.在指执行时多一种选择. bat文 ...
 - py+selenium+IE 批量执行脚本10几分钟,IE会卡住【无解,提供绕过方法】
		
问题:py+selenium+IE 批量执行单个脚本10几分钟,IE会卡住 一个脚本文件里有20几个用例,跑起来10多分钟,每次跑10分钟后(即第22条用例左右时)IE就会卡住,程序就会在那傻等,最后 ...
 - Fiddler或Charles文件转换为Jmeter可执行脚本
		
解决脚本录制问题,可以将Fiddler或Charles转换成对应的Jmeter脚本,实现部分内容的参数化配置,通过修改部分参数或参数化可以对http协议的接口进行自动化测试或简单的压力测试 GitHu ...
 
随机推荐
- 第十八篇-Spinner下拉列表的使用
			
效果图 MainActivity.java package com.example.aimee.spinnertest; import android.support.v7.app.AppCompat ...
 - 2018 ACM 网络选拔赛 青岛赛区
			
一些题目的代码被网站吞了…… Problem B. Red Black Tree http://acm.zju.edu.cn/onlinejudge/searchProblem.do?contestI ...
 - bcftools合并vcf文件
			
见命令: bcftools merge A.vcf.gz B.vcf.gz C.vcf.gz -Oz -o ABC.vcf.gz 参考链接:http://vcftools.sourceforge.ne ...
 - Luogu P4551 最长异或路径
			
题目链接 \(Click\) \(Here\) \(01Trie\)好题裸题. 取节点\(1\)为根节点,向下扫每一个点从根节点到它路径上的异或和,我们可以得到一个\(sumx[u]\). 现在路径异 ...
 - (链表 双指针) leetcode 160. Intersection of Two Linked Lists
			
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
 - 【矢量绘图工具】Adobe Illustrator (AI) CC 2019 for Mac 23.0
			
以上图片来源于互联网分享,如涉及版权问题请联系作者删除. 文章素材来源:风云社区(www.scoee.com) 下载地址:风云社区(www.scoee.com) [简介] Adobe illust ...
 - M1-day08-数据库加锁
			
一.关于数据库加锁主要分为几类 1.原生sql 1.开启事物 begin; select * from host for update; commit; 注意:INNODB支持表锁和行锁,MyISAM ...
 - 【C#】使用bat文件安装卸载Window服务
			
1.安装服务 @echo off @title 安装windows服务path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319echo========= ...
 - 网络编程基础【day09】:socket解决粘包问题之MD5(八)
			
本节内容 1.概述 2.代码实现 一.概述 上一篇博客讲到的用MD5来校验还是用的之前解决粘包的方法,就是客户端发送一个请求,等待服务端的确认的这样的一个笨方法.下面我们用另外一种方法:就是客户端已经 ...
 - JavaEE之JDBC编程[详解]
			
1.数据库简介 数据库(DB,Data Base ) 数据库管理系统(DBMS,Data Base Management System) 关系型数据库(RDB) 关系型数据库管理系统(RDBMS) S ...