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)需要注意的地方:第一步环境准备很重要

    

时间: 2024-10-09 16:37:43

Jmeter 批量执行脚本之-----------Ant的相关文章

2.3-命令批量执行脚本

命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect 2 exe.sh 3 ip.list    IP列表 cat exe.expect #!/usr/bin/expect set host [lindex $argv 0]            #第一个参数,IP列表 set passwd "hd792310" set cm [lindex $argv 1]              #第二个参数,cm要执行的命令 spawn ssh [email protected]

Oracle批量执行脚本文件

以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name varchar2(50) ); Commit; / 可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报错. 例如创建表时 create table t( id varchar2(20), Name varchar2(30) ); 上面这个文件

sqlplus批量执行脚本日志输出

spool d:\eagle2_2014_5_9_init.log; set feedback off; set define off; prompt -----初始化数据 start--- @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full\coc\coc-initialize.sql @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full

通过SqlClr制作Sql自动化批量执行脚本

通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个案例, 感觉挺不错的,现在想和大家分享一下,可能存在些错误的地方,大家就做个小参考吧.... 1.我们在做数据迁移或是数据库结构修改时,通常会写一些脚本文件之后逐个运行.但是如果有数十或数百个脚本文件, 那么就可以通过SqlClr制作Sql自动化执 2.比如现在ImportDataScript文件夹内有些脚本文件: 3.我们想让这9个脚本文件自动的依

python 批量执行脚本(服务端和客户端建立TCP连接)

有很多开源的批量部署的工具可以使用,比如puppet, ansible , saltstack , chef . 但这些工具都有自己的一套语法规则,你得按照他的语法来编写程序,然后批量执行. 那有没有方法可以直接写bash 或者Python脚本,然后批量执行呢? 方法当然是有的,需要自己写程序来传输脚本,拷贝文件,再复杂点,可以自定义脚本式同步还是异步执行,自定义要执行的主机组,等等,需要根据自己的业务需要来想. 这里只是抛砖引玉,我采用建立socket(TCP)连接来批量执行脚本. 服务端脚本

分发系统:命令批量执行脚本

该脚本实现对不同主机批量执行命令 [[email protected] ~]# cat exe.expect#!/usr/bin/expect set host [lindex $argv 0] set passwd "123456" set cm [lindex $argv 1] spawn ssh [email protected]$host expect { "yes/no" { send "yes\r"} "password:&

利用Python的unittest单元测试框架的discover方法批量执行脚本用例

1.在用Python自动化时,执行单个脚本用例那都是so easying当脚本用例不断地增多时,那就蒙蔽了,一个个来跑到什么时候才跑完,所以discover方法作用就出来,废话不多,小编直接上代码了,如有疑问,可以咨询小编 #!/usr/bin/python# -*- coding: utf-8 -*-from selenium import webdriverimport time,osfrom selenium.webdriver.common.action_chains import Ac

python批量执行脚本,使用unittest.TestSuit(); unittest.TextTestRunner().run(); addTest();unittest.defaultTestLoader.discover();

#alltest.py中内容如下import unittest,osdef all(): #path="D:\\study\\python_api_test\\test1203" #手动添加路径 path=os.getcwd() #获取路径 files=unittest.defaultTestLoader.discover(path, pattern="hui*.py", top_level_dir=None) lastall=unittest.TestSuite(

四、TestNG 批量执行脚本Runner.xml - 并可以设置多线程并发跑脚本,提高跑脚本效率

C:\Users\Administrator.IntelliJIdea2019.1\system 拷贝这个路径下的xml文件到项目 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 原文地址:https://www.cnblogs.com/surenliu/p/12388891.html