• 使用jmeter+ant+jenkins 搭建接口自动化测试


      一、操作环境:

      win10、apache-jmeter-5.2.1、apache-ant-1.10.10、jenkins.war

      二、环境下载:

      apache-ant:http://ant.apache.org/bindownload.cgi

    • ant安装

      下载后将压缩包解决至D盘目录,如图:

      配置环境变量:

      ANT_HOME:D:Programsapache-ant-1.10.10

      path:%ANT_HOME%in

      配置好后,打开cmd输入ant -version ,输出如图,表示成功

      安装成功后,修改Jmeter配置

      修改jmeterbin目录下的jmeter.properties文件

      jmeter.save.saveservice.output_format=xml

      三、环境准备好后,开始配置

    • 在D盘创建如下目录:jmeter-workspace、jmx、jtl、report、build.xml

      jmx:用于jmeter生成的*.jmx文件

      jtl:用于存放生成的*.jtl文件

      report:用于存放生成的*.html文件

      build.xml:用于ant执行的脚本文件

      注意:关于build.xml文件,网上有许多从jmeter生成的文件,复制过来进行修改,然后在ant文件放置一份,其实不用那么做,我用那种方式,没有成功

    • 完整的build.xml文件,自己使用时,复制一份,只需要修改里面提示的即可,

      需要特别注意:

      1、将jmeter扩展包[extras]下的 jmeter-results-detail-report_21.xslant-jmeter-1.1.1.jar 两个文件

      2、lib包文件下的 mail-1.5.0-b01.jar 

      一共3个文件都 放入ant安装文件的lib包中

    <?xml version="1.0" encoding="utf-8"?>
    <project name="test" default="all" basedir=".">
        <tstamp>
            <format property="time" pattern="MMddhhmm" />
        </tstamp>
        
        <!-- 需要改成自己本地的 Jmeter 目录-->
        
        <property name="jmeter.home" value="D:Program Filesapache-jmeter-5.2.1" />
        
        <!-- 需要修改第1个:jmeter生成jtl格式的结果报告的路径-->
        
        <property name="jmeter.result.jtl.dir" value="D:jmeter-workspacejtl" />
        
        <!-- 需要修改第2个:jmeter生成html格式的结果报告的路径-->
        
        <property name="jmeter.result.html.dir" value="D:jmeter-workspace
    eport" />
        
        <!-- 生成的报告的前缀 -->
        <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" />
     
        <!-- 电脑地址 -->
        <property name="ComputerName" value="vincentwong" />
        <target name="all">
            <antcall target="test" />
            <antcall target="report" />
            <antcall target="sendEmail" />
        </target>
        <target name="test">
            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
            <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            
                <!-- 需要修改第3个:声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
                
                <testplans dir="D:jmeter-workspacejmx" includes="*.jmx" />
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
                
            </jmeter>
        </target>
    
        <target name="report">
        <tstamp> 
        <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/> 
        </tstamp>
        
        <xslt 
        in="${jmeter.result.jtlName}" 
        out="${jmeter.result.htmlName}" 
        style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
           <param 
         name="dateReport" 
         expression="${report.datestamp}"> 
           </param>
         </xslt>
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
            <copy todir="${jmeter.result.html.dir}">
                <fileset dir="${jmeter.home}/extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>
        </target>
    
        <!-- 发送邮件 -->
        <!-- 需要修改第4个:收件人名字和收件内容 -->
       <target name="sendEmail">
       <mail mailhost="smtp.163.com" 
       mailport="25"
       user="发件人邮箱"   
       password="发件人设置的授权密钥" 
       ssl="false"    
       subject="xxxx后台接口功能自动化回归测试报告${time}" 
       messagemimetype="text/html">
       <from address="发件人邮箱"/>
       <to address="收件人邮箱1"/>
       <to address="收件人邮箱2"/>
    
       <fileset dir="${jmeter.result.html.dir}">   
       <include name="${ReportName}${time}.html"/> 
       <include name="collapse.png" />
       <include name="expand.png" /> 
       </fileset>
       <message charset="gb2312"> 
       Dear All:&lt;br /&gt;
         这是一封xxxx后台接口功能自动化回归报告的邮件。&lt;br /&gt;
         测试报告附在附件,请将图片和报告文件都下载在同文件夹,再使用浏览器打开查看。&lt;br /&gt; 
         谢谢。&lt;br /&gt;      
       </message>
      </mail>
     </target>
        
        
    </project>

      四、集成jenkins

    • 创建一个job,命名jmeter-workspace,如图:

    • 构建:选择ant,安装好后,在下拉框会有选择提示,target填写构建后,触发的操作,根据build.xml文件中配置填写

    参考:https://www.cnblogs.com/jc-home/p/11604754.html

  • 相关阅读:
    让tomcat启动时,自动加载你的项目
    ssh整合 小例子
    hibernate入门(二)
    java引用问题(—)
    hibernate入门(-)
    IOC入门1
    百度知道回答的依赖注入
    spring
    ibatis 优点,未完版
    Data Structure Array: Sort elements by frequency
  • 原文地址:https://www.cnblogs.com/personblog/p/14809225.html
Copyright © 2020-2023  润新知