zoukankan      html  css  js  c++  java
  • Jmeter&Ant构建自动化测试平台

     一、jmeter

    jmeter下载地址为:http://jmeter.apache.org/download_jmeter.cgi

    下载完成后,解压文件,

    加压后,到biin目录下,点击jmeter.bat启动jmeter(如果是linux环境,给jmeter.sh可执行的权限,然后执行jmeter.sh就可以启动jmeter)

    安装下载jdk配置环境变量

    二、ant

    点击进入ant官网,找到下载选项。

    http://ant.apache.org/

    设置环境变量:

    window中设置ant环境变量:

    ANT_HOME    D:/ apache-ant-1.9.0

    path             D:/ apache-ant-1.9.0/bin(按照其他的教程设置的不对)

    classpath      D:/apache-ant-1.9.0/lib

    ant验证:win+R  --  cmd

    输入如下命令:ant -version

    如果出现如下内容,说明安装成功:

    三、Jenkins安装

    http://jenkins-ci.org下载

    点击setup安装

    在浏览器输入http://localhost:8080/进行访问

    (默认端口是8080,如果端口被占用,修改Jenkins安装目录下的配置文件,Jenkins.xml中httpport=8080,修改为不占用的端口8081)

    操作步骤:

    1、录制jmeter脚本(此处省略N。。。)

    2、将jmeter安装目录下的extras目录中的“ant-jmeter-1.1.1.jar”这个jar放到ant的(安装目录)lib目录下(关键)

    3、配置jmeter的build.xml配置文件(D:apache-jmeter-3.1extrasuild.xml)

    在JMETER目录下新建一个testcase目录,把要运行的脚本放在此目录下,把编辑的新的build文件放在此目录下;在F:apache-ant-1.9.4in目录下也放build文件(反正不知道对不对,刚开始没放的时候死活报错。。。。。就这样吧)

    build.xml文件如下

     1 <?xml version="1.0" encoding="UTF8"?>
     2 
     3 <project name="Jmeter-TestCase" default="run" basedir=".">
     4     <tstamp>
     5         <format property="time" pattern="yyyyMMddhhmm" />
     6      </tstamp>
     7 
     8      <!--jmeter目录路径-->
     9      <property name="jmeter.home" value="D:apache-jmeter-3.1" />
    10      <!--jmeter生成报告的路径,二种格式-->
    11      <property name="jmeter.result.jtl.dir" value="D:apache-jmeter-3.1TestCasejtl" />
    12      <property name="jmeter.result.html.dir" value="D:apache-jmeter-3.1TestCasehtml" />
    13 
    14      <!--生成jmeter报告的前缀和定义结果集的路径-->
    15      <property name="ReportName" value="TestReport" />
    16      <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    17      <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
    18      
    19     <target name="run">
    20          <antcall target="test" />
    21          <antcall target="report" />
    22      </target>
    23      
    24      <!--测试脚本-->
    25      <target name="test">
    26          <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    27          <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    28          <!--声明要运行的脚本-->
    29             <testplans dir="D:apache-jmeter-3.1TestCase" includes="*.jmx" />
    30             <property name="jmeter.save.saveservice.output_format" value="xml"/>
    31             <property name="jmeter.save.saveservice.assertion_results" value="all"/>
    32             <property name="jmeter.save.saveservice.bytes" value="true"/>
    33             <property name="file_format.testlog" value="${format}"/>
    34             <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
    35          </jmeter>
    36      </target>
    37 
    38          
    39     
    40      <target name="report">
    41          <xslt in="${jmeter.result.jtlName}"
    42               out="${jmeter.result.htmlName}"
    43               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
    44               <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
    45          <copy todir="${jmeter.result.html.dir}">
    46              <fileset dir="${jmeter.home}/extras">
    47                  <include name="collapse.png" />
    48                  <include name="expand.png" />
    49              </fileset>
    50         </copy>
    51      </target>
    52 
    53  </project>

    jmeter Ant xml 文件

    •   Ant关键元素

      Ant的构建是基于XML编写的,默认名称是build.xml

      project元素是ant构建文件的跟元素,ant构建文件至少包含一个project元素,每个project元素下,可包含多个target元素。

      (1)name属性

        用于指定project元素的名称

      (2)default属性

        用于指定project默认执行时所执行的target的名称

      (3)basedir属性

        用于指定jmeter的基路径的位置,该属性没有指定时,使用ant的构建文件的附目录作为基准目录

    • target元素

       是ant的基本执行单元,她可以包含一个或是多个具体的任务,多个target可以存在相互依赖关系。有    如下属性:

      (1)name属性

      (5)description属性

        是target功能的简单描述和说明

    • property属性

    4、cd到进入jmeter的build目录下运行ant(我的是D:apache-jmeter-3.1TestCase)

     

    生成的报告如下

    5、 测试报告优化

      用jmeter自带的测试报告得到的测试报告信息并不是很全,这里参考网上的方法,做一个优化

    • 下载下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中

            href="http://shanhe.me/download.php?file=jmeter.results.shanhe.me.xsl

    • 编辑D:apache-jmeter-3.1injmeter.properties文件,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true

    • 设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl

     按前面的方式再次用ant构建测试,查看优化后的测试报告

    6、部署到持续集成平台Jenkins

    打开http://localhost:8080/

    点击新建-输入项目名称-OK-在构建里面选择invoke_Ant-高级-输入jmeter的build文件的目录

     

     基本配置完成:

    JOB主页,点击立即构建,执行测试,构建完成即可通过HTML_Report来查看测试结果

     继续构建基本完成,另外还 可以配置邮件插件来发送测试报告,设置构建时间来定时自动执行测试  (后续加上)

    遇见的问题

    1、运行ant的时候总是报错。如下提示java(tm) platform se binary 已停止工作

    解决方式:

    • 重新配置jdk的环境变量
    • 我原先安装的是jdk8,还是报错,最后卸载重新安装了jdk7,问题就解决了!!!!!

    2、在jenkins构建运行的时候报错:提示Java.exe不是内部程序说明的(其实我也不知道什么鬼啊,以为我成功了,结果卡在这里,各种百度,心酸。。。)

    猜测应该是和jdk的环境变量有关系(不要问我怎么猜的。。。。我也不知道)

    系统管理-系统设置-全局属性-Environment variables-添加jdk的环境变量

    失败了这么多,最后才算是成功了

    查看控制台的输出---这个和命令行ant run运行输出是一样哒。。。

    3、记得安装报告的插件(在jenkines中安装报告的插件,还有其他的不想说了)

    终于完成了。。。。。。。。。。

  • 相关阅读:
    《计算机网络 自顶向下方法》 第1章 计算机网络和因特网
    记一次代码优化
    不要刻意寻求局部最优解
    Eclipse Jetty插件安装
    Jetty的工作原理
    log4g 使用教程
    有用资料的网址
    Java 编程 订单、支付、退款、发货、退货等编号主动生成类
    Spring框架
    Eclipse常用快捷键大全1
  • 原文地址:https://www.cnblogs.com/bell1991/p/7260846.html
Copyright © 2011-2022 走看看