ant+jmeter+jenkins搭建持续性能测试,接口测试平台

一、Jmeter+ant做持续集成
1、首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 
2、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本      
3、jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,保存

  jmeter.save.saveservice.output_format=xml

javax.mail-1.4.4 这个jar包放到ant 中的lib目录里,就可以用ant+jmeter做持续集成发送邮件。

新建build.xml文件,脚本文件,报告文件

ant+jmeter+jenkins搭建持续性能测试,接口测试平台


[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <project name="JmeterTest" default="all" basedir=".">  
  3.     <tstamp>  
  4.         <format property="time" pattern="yyyyMMddhhmm" />  
  5.     </tstamp>  
  6.     <!-- 需要改成自己本地的 Jmeter 目录-->  
  7.     <property name="jmeter.home" value="D:\apache-jmeter-3.0 (1)\apache-jmeter-3.0" />  
  8.     <!-- jmeter生成jtl格式的结果报告的路径-->  
  9.     <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-3.0 (1)\apache-jmeter-3.0\demo\report\jtl" />  
  10.     <!-- jmeter生成html格式的结果报告的路径-->  
  11.     <property name="jmeter.result.html.dir" value="D:\apache-jmeter-3.0 (1)\apache-jmeter-3.0\demo\report\html" />  
  12.     <!-- 生成的报告的前缀 -->  
  13.     <property name="ReportName" value="TestReport" />  
  14.     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />  
  15.     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />  
  16.     <!-- 接收测试报告的邮箱 -->  
  17.     <property name="mail_to" value="[email protected]" />  
  18.     <!-- 电脑地址 -->  
  19.     <property name="ComputerName" value="Yyj" />  
  20.     <target name="all">  
  21.         <antcall target="test" />  
  22.         <antcall target="report" />  
  23.     <antcall target="sendmail" />  
  24.     </target>  
  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.             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->  
  29.             <testplans dir="D:\apache-jmeter-3.0 (1)\apache-jmeter-3.0\demo" includes="*.jmx" />  
  30.               
  31.             <property name="jmeter.save.saveservice.output_format" value="xml"/>  
  32.         </jmeter>  
  33.     </target>  
  34.       
  35.         
  36.       
  37.     <target name="report">  
  38.         <xslt   
  39.         in="${jmeter.result.jtlName}"   
  40.         out="${jmeter.result.htmlName}"   
  41.         style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />  
  42.         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->  
  43.         <copy todir="${jmeter.result.html.dir}">  
  44.             <fileset dir="${jmeter.home}/extras">  
  45.                 <include name="collapse.png" />  
  46.                 <include name="expand.png" />  
  47.             </fileset>  
  48.         </copy>  
  49.     </target>  
  50.       
  51.     <!-- 发送邮件 -->  
  52.       
  53.     <target name="sendmail" >  
  54.         <mail mailhost="smtp.163.com"  
  55.             mailport="465"  
  56.             ssl="true"        
  57.             user="[email protected]"  
  58.             password="**********"  
  59.             subject="接口测试报告"  
  60.             from="[email protected]"  
  61.             >  
  62.             <to address="[email protected]"/>  
  63.             <message>详细报告请查看附件</message>  
  64.               <attachments>  
  65.                 <fileset dir="${jmeter.result.html.dir}">   
  66.                   <include name="${ReportName}${time}.html"/>  
  67.                 </fileset>   
  68.               </attachments>  
  69.         </mail>  
  70.     </target>  
  71.       
  72.       
  73. </project>  




 一定要加这段,否则会报错,第一行不能有文字 <property name="jmeter.save.saveservice.output_format" value="xml"/>

遇到的问题 jmeter3.0中没有/extras/jmeter-results-detail-report_21.xsl,这个文件,从低版本中拷贝过来,就可以了。

jmeter-results-detail-report_21

jmeter-results-report_21

配置完成之后,cd到D:\apache-jmeter-3.0 (1)\apache-jmeter-3.0\demo目录中,执行ant。ant+jmeter 持续集成,会直接发邮件到邮箱里。报告就会在report文件夹中生成。

ant+jmeter+jenkins搭建持续性能测试,接口测试平台

ant+jmeter+jenkins搭建持续性能测试,接口测试平台

启动jenkins,配置jenkins

1、新建一个*风格的项目

ant+jmeter+jenkins搭建持续性能测试,接口测试平台


旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数。

注意:三个设置必须同时设置,否则无效

ant+jmeter+jenkins搭建持续性能测试,接口测试平台

设置定时运行间隔,这里,设置间隔时间为15分钟运行一次

ant+jmeter+jenkins搭建持续性能测试,接口测试平台

设置invoke ant,完成后点击保存


ant+jmeter+jenkins搭建持续性能测试,接口测试平台

点击立即构建,就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤


ant+jmeter+jenkins 本地搭建步骤

serverAgent 用那个这个上传到被测服务器上,执行,可以监测到被测服务器cpu 内存 磁盘 使用情况