Jmeter之ant安装及应用

说明:Jmeter与ant的连接并用,直接出接口测试报告。
一、ant安装及配置环境变量
1、下载ant
地址:http://ant.apache.org/bindownload.cgi
在这里插入图片描述
在这里插入图片描述
下载好的文件:apache-ant-1.10.8-bin.tar.gz
2、将下载后的文件解压到指定的位置即可,我将文件解压后和jmeter放在一起了。
在这里插入图片描述
3、配置ant环境变量
打开.bash_profile,终端输入命令:open -e .bash_profile,并回车;
在这里插入图片描述
ANT_HOME=/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1/apache-ant-1.10.8

CLASSPATH增加配置:$ANT_HOME/lib

PATH为增加配置:$ANT_HOME%\bin

JMETER_HOME=/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1

ANT_HOME=/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1/apache-ant-1.10.8

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$ANT_HOME/lib

PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH:.:$ANT_HOME/bin:$PATH

export JAVA_HOME
export CLASSPATH
export PATH

在这里插入图片描述
3、验证ant安装是否成功
首先,输入命令,是文件立即生效:source .bash_profile,并回车;
然后,输入命令,校验ant环境变量:ant -v,并回车;
出现版本信息,即安装成功。
在这里插入图片描述
二、ant配置jmeter(即ant与jmeter关联)
说明:即通过在终端输入命令,来调动执行jmeter脚本进行接口测试,并申生成测试报告。

1、配置库文件
将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中
在这里插入图片描述
在这里插入图片描述
2、配置文档:jmeter.properties
在jmeter/bin目录下,找到jmeter.properties文件,打开该文档并编辑,修改jmeter报告输出格式为xml。
改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#
在这里插入图片描述
在这里插入图片描述
3、集成准备
1)新建文件夹
a、在jmeter的bin目录下新建文件夹test文件夹;
b、在test文件夹下新建smokeTest和smoke_report文件夹;
c、在smoke_report下新建html和jtl文件夹;
在这里插入图片描述
2)smokeTest文件夹下存放.jmx文件和build.xml文件
a、.jmx文件:即运行的要运行的脚本;
b、build.xml文件:即配置ant的编译文件(下边有方法);
3)smoke_report下的html和jtl文件夹
a、html文件夹:ant调jmeter脚本执行完成后,生成的测试报告保存在此文件夹中;
b、jtl文件夹:存放jtl格式报告,一般只看html文件夹的报告即可。

4、配置ant的编译文件build.xml
上文目录:二-2-2)-b 提到的ant的编译文件build.xml:
1)新建一个build.txt文本文件,将下面的脚本复制到文件中并保存;

<?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="/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1" />
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1/bin/test/smoke_report/jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1/bin/test/smoke_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="/Users/apple/Desktop/Jmeter/apache-jmeter-5.2.1/bin/test/smokeTest" 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-shanhe-me.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>

2)修改该文件中的部分配置
a、修改路径:jmeter安装路径、存放jtl和html格式测试报告路径、jmeter执行脚本存放路径、测试报告模板存放路径及“jmeter.save.saveservice.output_format”格式;
在这里插入图片描述
3)将build.txt文件改为build.xml文件格式,并将其放到集成准备的smokeTest文件夹下。
注:此build.xml文件是新建的,区分于apache-jmeter-5.2.1/extras文件夹下的build.xml文件,不要用其修改。

4)优化测试报告模版
说明:jmeter本身默认的测试报告展示的信息比较少,如果出错了,不是很方便定位问题,下面介绍优化方法:
a、下载style文件:jmeter.results.shanhe.me.xsl
b、把下载的文件放到Jmeter的extras目录下;
c、修改jmeter.properties文件,如下部分按照提供的修改;

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

在这里插入图片描述
d、检查jmeter/extras文件夹下的build.xml文件,改成下图样式;
在这里插入图片描述
优化测试结果报告参考文档

5、执行测试
1)打开终端,执行命令cd 路径到smokeTest文件夹下的build.xml文件所在路径;
2)输入ant run回车,执行测试脚本;
3)看到build successful,则说明执行测试脚本成功。
在这里插入图片描述
6、查看测试结果报告
在报告存放路径下查看jtl和html结果报告;
在这里插入图片描述
打开html文件,查看结果
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值