• WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)


          Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。

      1、安装JDK,配置java环境变量(略过)

      2、安装Jmeter,这里用到的版本是2.12(安装过程略过)

      3、安装 ANT

        3.1 下载安装

          下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,

          比如:D:/program files/apache-ant-1.9.0

        3.2 配置环境变量

         

        3.3 安装验证

          验证安装结果,命令行输入ant -v ,出现版本信息则安装成功

         

      4、ANT中配置Jmeter  

              4.1、配置库文件

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

           copy from:

          

           paste to:

          

        4.2  配置ANT与Jmeter的配置文件

                     4.2.1 配置ant 编译文件 build.xml

           拷贝下面的内容与新建的txt文件中,并将此文件改名为:build.xml            

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 
     3 <project name="ant-jmeter-test" default="run" basedir=".">
     4     <tstamp>
     5         <format property="time" pattern="yyyyMMddhhmm" />
     6     </tstamp>
     7     <!-- 需要改成自己本地的 Jmeter 目录-->  
     8     <property name="jmeter.home" value="C:apache-jmeter-2.12" />
     9     <!-- jmeter生成jtl格式的结果报告的路径--> 
    10     <property name="jmeter.result.jtl.dir" value="C:apache-jmeter-2.12in	estsmoke_reportjtl" />
    11     <!-- jmeter生成html格式的结果报告的路径-->
    12     <property name="jmeter.result.html.dir" value="C:apache-jmeter-2.12in	estsmoke_reporthtml" />
    13     <!-- 生成的报告的前缀-->  
    14     <property name="ReportName" value="TestReport" />
    15     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    16     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
    17     
    18     <target name="run">
    19         <antcall target="test" />
    20         <antcall target="report" />
    21     </target>
    22     
    23     <target name="test">
    24         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
    25         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
    26              <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
    27             <testplans dir="C:apache-jmeter-2.12in	est冒烟测试" includes="*.jmx" />
    28 
    29              <property name="jmeter.save.saveservice.output_format" value="xml"/>
    30         </jmeter>
    31     </target>
    32     
    33      <path id="xslt.classpath">
    34         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
    35         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    36      </path>
    37         
    38     <target name="report">
    39         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>    
    40         <xslt               
    41               classpathref="xslt.classpath"
    42               force="true"
    43               
    44               in="${jmeter.result.jtlName}"
    45               out="${jmeter.result.htmlName}"
    46               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />  
    47         
    48         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
    49         <copy todir="${jmeter.result.html.dir}">
    50             <fileset dir="${jmeter.home}/extras">
    51                 <include name="collapse.png" />
    52                 <include name="expand.png" />
    53             </fileset>
    54         </copy>
    55     </target>    
    56     
    57 </project>
    View Code

                     如下按实际情况修改build.xml文件

                    

          

       4.2.2 配置jmeter.properties

           配置jmeter报告输出格式为xml在jmeter根目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为

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

                    

                              

       

      4.3 验证配置,执行构建测试

        4.3.1 准备测试脚本数据

            build配置文件放在与测试脚本同目录

            

        4.3.2 执行测试      

              命令行cdbuild.xml文件所在目录,输入ant run ,执行测试

             

          看到build successful 则说明构建测试成功

         4.3.3 报告输出路径下查看测试结果报告

            按build.xml文件中设置的测试报告地址找到html版测试报告

            

            打开看看:测试结果展现了用例数、成功率、用例执行时间等结果参数

            

      4.4、 测试报告优化

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

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

               如C:apache-jmeter-2.12extras

                              

                4.4.2、设置测试输出报告要输出的内容

              同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true

                                 

                                                 

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

                            

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

                         

              5、配置jenkins

                  5.1 、jinkins.war的下载与安装,下载后放到d盘根目录

                 5.2 、配置环境变量,设置JENKINS_HOME

                                         

                   5.3 、解压并启动jenkins

                             命令行输入java -jar jenkins.war,浏览器中输入url:jenkins所在主机IP 端口:8080 ,打开jenkins

            配置用户名、密码及插件,这里需要配置invoke ant插件、HTML测试报告展示的插件

         5.4、新建并配置一个JOB

            

            设置项目名称:

            

           配置构建:

           

            配置构建:invoke ant

             

      

    配置build文件路径: 

                     

     

     配置测试报告插件,用于打开测试结果报告

     

    基本配置完成

     

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

              

     

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

                                          

             

             

               

  • 相关阅读:
    iOS UI(布局)约束是什么?view1.attr1 = view2.attr2 * multiplier + constant
    编程范式-声明式编程
    平庸的投资人和优秀的投资人差在哪儿
    编程语言的发展趋势及未来方向
    再读:编程语言的发展趋势及未来方向
    编程语言的发展趋势:声明式动态并发
    命令式编程与声明式编程
    声明式(编程)语言是解释型语言
    DSL-领域特定语言(英语:domain-specific language、DSL)
    声明式编程
  • 原文地址:https://www.cnblogs.com/chengtch/p/6145867.html
Copyright © 2020-2023  润新知