一、操作环境:

win10、apache-jmeter-5.2.1、apache-ant-1.10.10、jenkins(2.277.4版本).war

  二、环境下载:

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

jenkins 检测是否启动成功_jenkins 检测是否启动成功

  • ant安装

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

jenkins 检测是否启动成功_jenkins 检测是否启动成功_02

  配置环境变量:

  ANT_HOME:D:\Programs\apache-ant-1.10.10

  path:%ANT_HOME%\bin

jenkins 检测是否启动成功_apache_03

jenkins 检测是否启动成功_jenkins 检测是否启动成功_04

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

jenkins 检测是否启动成功_html_05

  • jenkins安装:参考:

  安装成功后,修改Jmeter配置

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

 jmeter.save.saveservice.output_format=xml

 

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

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

jenkins 检测是否启动成功_jenkins 检测是否启动成功_06

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

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

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

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

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

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

  需要特别注意:

jmeter-results-detail-report_21.xsl、ant-jmeter-1.1.1.jar

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 Files\apache-jmeter-5.2.1" />
    
    <!-- 需要修改第1个:jmeter生成jtl格式的结果报告的路径-->
    
    <property name="jmeter.result.jtl.dir" value="D:\jmeter-workspace\jtl" />
    
    <!-- 需要修改第2个:jmeter生成html格式的结果报告的路径-->
    
    <property name="jmeter.result.html.dir" value="D:\jmeter-workspace\report" />
    
    <!-- 生成的报告的前缀 -->
    <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-workspace\jmx" 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:<br />
     这是一封xxxx后台接口功能自动化回归报告的邮件。<br />
     测试报告附在附件,请将图片和报告文件都下载在同文件夹,再使用浏览器打开查看。<br /> 
     谢谢。<br />      
   </message>
  </mail>
 </target>
    
    
</project>
  •  使用jmeter创建一个测试脚本,放入 D:\jmeter-workspace\jmx 中, 创建方法参考:

  四、集成jenkins

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

jenkins 检测是否启动成功_jenkins 检测是否启动成功_07

jenkins 检测是否启动成功_jenkins 检测是否启动成功_08

  • 源码管理选:无
  • 构建触发器【jenkins定时任务】:选择Build periodically,填写定时构建的时间,时间设置参考:

jenkins 检测是否启动成功_xml_09

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

jenkins 检测是否启动成功_html_10

jenkins 检测是否启动成功_apache_11