ant+jmeter集成

1,安装jdk1.6以上

2,安装jmeter

JMeter下载官网:http://jmeter.apache.org/download_jmeter.cgi

1.首先在Jmeter官网下载一个压缩包,解压放到你自己建的文件夹路径下

2.配置好供Jmeter运行起来的环境变量:

 1)桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:D:\jmeter\apache-jmeter-5.0 (输入你刚才解压Jmeter的文件所属路径<这个是我本地的路径,我放在了D:\jmeter\下面>),我的路径如下所示:

 

2)再修改CLASSPATH变量,变量值中添加:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%

JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

(注:原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

3)修改PATH变量,变量中添加:%JMETER_HOME%\bin

4)jmeter默认语言为英文,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件

将language=en前面的#号去掉,改为 language=zh_CN。

 

安装完后打开cmd,运行jmeter -v 如图

3安装ANT

1.官网下载:http://ant.apache.org/bindownload.cgi

2.下载后得到的是一个的压缩包,将其解压到你指定的文件夹即可,例如本人的路径为:D:\ant\apache-ant-1.9.11

配置Ant的环境变量:打开控制面板–>系统和安全–>系统–>高级系统设置–>高级–>环境变量

系统变量名变量值
ANT_HOMED:\ant\apache-ant-1.9.11;(你ant解压的目录路径)
path%ANT_HOME%\bin;
classpath%ANT_HOME%\lib;

释:新建系统变量:ANT_HOME,填入变量值:D:\ant\apache-ant-1.9.11(你ant解压的目录路径)

  编辑path,在末尾添加变量值:%ANT_HOME%\bin;(你ant解压的目录路径)

  编辑classpath,在末尾添加变量值:%ANT_HOME%\lib;(你ant解压的目录路径)

打开命令行,输入:ant -version 得到类似如下的截图

4,ant+jmeter 集成测试

下载jmeter插件JMeterPlugins-Extras-1.4.0和JMeterPlugins-Standard-1.4.0,将下载的zip文件分别解压后,

打开\JMeterPlugins-Standard-1.4.0\lib\ext\文件夹,将该文件夹下面的文件全部拷贝到jmeter安装目录下的\%JMETER_HOME%\lib\ext\文件夹中。

打开\JMeterPlugins-Extras-1.4.0\lib\ext\文件夹,将该文件夹下面的文件全部拷贝到jmeter安装目录下的\%JMETER_HOME%\lib\ext\文件夹中。

1)jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml.

(2)将%JMETER_HOME%\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.11\lib目录下.

(3)在\%JMETER_HOME%\extras目录下打开以管理员的权限运行CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\%JMETER_HOME%\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件.

(4)若构建失败,请分析cmd打印的日志消息,定位问题.

5,创建测试脚本 *.jmx 文件

1,如何编写脚本请参见:http://www.cnblogs.com/puresoul/p/4740436.html

2、脚本目录:D:\AllApiTest\testscript

  

  3、脚本内容:

  api测试.jmx                    

  

4,编写build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="all" basedir=".">  
    <tstamp>  
        <format property="time" pattern="yyyyMMddhhmm" />  
    </tstamp>  
    <!-- 需要改成自己本地的 Jmeter 目录-->  
    <property name="jmeter.home" value="D:\jmeter\apache-jmeter-5.0" />  
    <!-- jmeter生成jtl格式的结果报告的路径-->  
    <property name="jmeter.result.jtl.dir" value="D:\AllApiTest\resultLog\jtl" />  
    <!-- jmeter生成html格式的结果报告的路径-->  
    <property name="jmeter.result.html.dir" value="D:\AllApiTest\resultLog\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" />  
	
     <path id="xslt.classpath">  
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
    </path>
	
    <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"指包含此目录下的所有jmeter脚本-->  
            <testplans dir="D:\AllApiTest\testscript" 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>  
</project>

5,以管理员的权限运行CMD,切换到\%JMETER_HOME%\extras目录下,"ant.bat -file D:\AllApiTest\build.xml",其中D:\AllApiTest\build.xml为自己上一步手动创建的build.xml路径。生成的报告保存在D:\AllApiTest\resultLog\html\文件夹下,效果图:

最后附上测试启动的 .bat文件脚本,路径根据自身情况修改

@echo off  
  
:: BatchGotAdmin  
:-------------------------------------  
REM  --> Check for permissions  
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"  
  
REM --> If error flag set, we do not have admin.  
if '%errorlevel%' NEQ '0' (  
    echo Requesting administrative privileges...11  
    goto UACPrompt  
) else ( goto gotAdmin )  
  
:UACPrompt  
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"  
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"  
  
    "%temp%\getadmin.vbs"  
    exit /B  
  
:gotAdmin  
	echo Requesting administrative privileges...2222
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )  
    pushd "%CD%"  
    
:--------------------------------------

 echo bigen
 start cmd /k "cd/d D:\jmeter\apache-jmeter-5.0\extras\&&ant.bat -file D:\AllApiTest\build.xml" 

 echo test finished
 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzdgtb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值