ANT + JMeter测试环境搭建(含JDK)

1、安装JDK

1.1、安装JDK1.8.0_144(提取码:09r6 )

历史版本(https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

1.2、配置环境变量

      JAVA_HOME 为: C:Program FilesJavajre1.8.0_144in (注意:java我是默认装的C盘)
  CLASSPATH为:  .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;
  PATH为:  %JAVA_HOME%in;%JAVA_HOME%jrein;

2、安装就jmeter

2.1下载安装包JMeter5.1.1(提取码:9lmn )

2.2、配置环境变量

      JMETER_HOME 为 jemter安装路径;
  CLASSPATH为: %JMETER_HOME%lib;
  PATH为:%JMETER_HOME%in;
 

3、安装Ant

3.1、安装包下载

下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,我是与jmeter放在同一目录(我下载的是1.10.9版本的ant)

3.2、配置环境变量

      ANT_HOME 为 ant解压位置
  CLASSPATH为 %ANT_HOME%lib;
  PATH为%ANT_HOME%in;
3.3、安装验证
验证安装结果,命令行输入ant -v,出现版本信息则安装成功

 

4、ANT配置JMeter:用ANT构建命令来调动执行JMeter接口测试,并生成测试报告

4.1、配置库文件

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

4.2、配置测试报告、jtl文件的路径和ANT的编译文件build.xml
(在jmeter根目录下新建一个demo文件夹,demo文件夹下新建resultLog/html、resultLog/jtl、resultLog/script 文件夹)

demo
│ build.xml

└─resultLog
  ├─html
  │
  ├─jtl
  │
  └─script

demo根目录新建的txt文件,并将此文件改名为build.xml,文档里的内容为
 <?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:MyDatakongdy2Desktopapache-jmeter-5.1.1" />
  <!-- jmeter生成jtl格式的结果报告的路径-->
  <property name="jmeter.result.jtl.dir" value="D:MyDatakongdy2Desktopapache-jmeter-5.1.1demo esultLogjtl" />
  <!-- jmeter生成html格式的结果报告的路径-->
  <property name="jmeter.result.html.dir" value="D:MyDatakongdy2Desktopapache-jmeter-5.1.1demo esultLoghtml" />
  <!-- 生成的报告的前缀 -->
  <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="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:MyDatakongdy2Desktopapache-jmeter-5.1.1demo esultLogscript" 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>

 

4.4、配置jmeter.propertise文档

找到jmeter.properties文档,在jmeter/bin目录下,打开该文档并编辑,修改jmeter报告输出格式为xml:

改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

4.5、验证配置,执行构建测试

将之前的jmeter的脚本保存,并将build.xml配置文件放在与测试脚本相同的目录下,我的目录如下:

 

4.5、执行测试

在build.xml所在目录打开命令窗口(鼠标在空白处按下shift键后在右键 ---> Powershell窗口),

或者命令行cd到build.xml文件所在目录,输入ant 回车,执行测试

 

4.6查看测试报告

在报告输出存放路径下查看是否有jtl和html结果报告,存放路径在build文档中也有

 

打开html文档,测试结果展现了执行的用例名称、成功率、用例执行时间等结果参数

 5、测试报告优化

 5.1下载style文件:jmeter.results.shanhe.me.xsl

 5.2 把下载的文件放到 JMeter 的extras目录下。

 5.3 修改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=true
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
# Only available with HttpClient4
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
# Only available with HttpClient4
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=false
jmeter.save.saveservice.hostname=false
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=false
jmeter.save.saveservice.idle_time=true

 5.4 修改build.xml文件(已将 jmeter.results.shanhe.me.xsl 文件名修改为 jmeter-results-shanhe-me.xsl )

<target name="report">

  <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" />
  <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
  <copy todir="${jmeter.result.html.dir}">
    <fileset dir="${jmeter.home}/extras">
      <include name="collapse.png" />
      <include name="expand.png" />
    </fileset>
  </copy>
</target>

 5.5 执行脚本,生成报告如下,报告是不是及清晰了很多

到此,ANT+JMeter的环境就搭建好了

后续会再更一版JMeter+ANT+Jenkins的配置 ,敬请期待

 
原文地址:https://www.cnblogs.com/DeryKong/p/14043887.html