美文网首页赏味不足性能测试@软件测试
搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

作者: Tester_Jingel | 来源:发表于2017-03-13 14:49 被阅读375次

    Jenkins+Ant+Jmeter.png

    一、Ant安装

    下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.9.9-bin.zi

    下载成功后,将解压的目录复制到磁盘中,并且配置环境变量
    1、ant_home:文件存放目录
    2、path:%ant_home%\bin
    3、classpath:%ant_home%\lib
    打开cmd,输入ant -version验证


    验证.png

    二、连接ant和jmeter(注意点)

    1、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中(将在)

    2、如果安装jmeter3.0的用户在生成测试报告时数据为空,是由于extras目录中jmeter-results-detail-report.xsl造成的,将jmeter2.1.3中的

     jmeter-results-detail-report_21.xsl文件复制到该目录下,并在xml文件中指向该文件就可以解决空数据的问题了(聚合报告xsl)
    
    2.png

    3、生成的测试报告可能会有三个指标显示NAN,那么复制jmeter的lib目录下的xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里,重新生成就会成功!

    3-1.png
    3-2.png

    4、对于有时候会在ant运行报错编码相关的问题:需要修稿jmeter的bin目录下的jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml

    5、对于生成详细报告的测试数据需要在jmeter的bin目录下的jmeter.properties文件的配置:

    5.png

    三、项目开始

    1、利用jmeter可视化工具创建一个接口脚本,不细说
    2、创建build.xml代码:

    <?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="F:\xxx\apache-jmeter-3.0" />
        <!-- jmeter生成jtl格式的结果报告的路径--> 
        <property name="jmeter.result.dir" value="TestReport/results/TestReport_all/Report" />  
        <property name="jmeter.detail_result.dir" value="TestReport/results/TestReport_all/DetailReport" /> 
        <!-- 生成的报告的前缀-->    
        <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${jtl_Report}.jtl" /> 
    
        <!-- 生成整体的聚合报告--> 
        <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${time}.html" /> 
        <!-- 生成单个接口的详细报告--> 
    
        <property name="jmeter.result.htmlName-detail" value="${jmeter.detail_result.dir}/${time}.html" /> 
         
        <target name="run">
             <echo message="start..."/>
             <antcall target="clean" />
             <antcall target="test" />
             <antcall target="report" />
             <antcall target="report_detail" />
         </target>
         
         <target name="clean">
             <mkdir dir="TestReport/results/TestReport_all/Report" />
             <mkdir dir="TestReport/results/TestReport_all/DetailReport" />
         </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="F:\xxxx\apache-jmeter-3.0\demo" includes="*.jmx" />
                 
                 <property name="jmeter.save.saveservice.output_format" value="xml"/>
             </jmeter>
         </target>
    
    
         <!-- 生成整体的聚合报告--> 
         <target name="report">
             <xslt in="${jmeter.result.jtlName}"
                   out="${jmeter.result.htmlName}"
                   style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /><!-- 生成整体的聚合报告的xsl文件--> 
    
             <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
             <copy todir="${jmeter.result.dir}">
                 <fileset dir="${jmeter.home}/extras">
                     <include name="collapse.jpg" />
                     <include name="expand.jpg" />
                 </fileset>
             </copy>
         </target>
    
     
    
         <!-- 生成单个接口的详细报告--> 
    
         <target name="report_detail">
             <xslt in="${jmeter.result.jtlName}"
                   out="${jmeter.result.htmlName-detail}"
                   style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" /><!-- 生成单个接口的详细报告的xsl文件--> 
             <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
             <copy todir="${jmeter.result.dir}">
                 <fileset dir="${jmeter.home}/extras">
                     <include name="collapse.jpg" />
                     <include name="expand.jpg" />
                 </fileset>
             </copy>
         </target>
     </project>
    

    3、进入cmd到build.xml文件目录下,运行ant成功生成测试报告
    (1)聚合报告


    3-3-1.png

    2、详细报告


    3-3-2.png

    四、配置jenkins

    1、下载并安装jenkins,没改动的前提下默认地址为:localhost:8080,输入用户名和密码进入jenkins首页
    点击新建一个项目且进入配置页面,对于jmeter需要下载professional plungin
    系统管理-----下载插件-----找到Performance plugin插件点击下载,安装成功后重启服务成功

    4.png

    相关文章

      网友评论

        本文标题:搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

        本文链接:https://www.haomeiwen.com/subject/gknfnttx.html