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

一、环境准备:

1、JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

2、Jmeter:http://jmeter.apache.org/download_jmeter.cgi

3、Ant:http://ant.apache.org/bindownload.cgi

4、Jenkins:http://jenkins-ci.org/

具体可参见我另一篇博客:http://www.cnblogs.com/puresoul/p/4808416.html

二、Jemter脚本准备:

1、脚本目录:D:\B_TOOLS\apache-jmeter-2.13\demo
这里写图片描述

2、脚本内容:都是简单的访问百度或google首页
这里写图片描述

三、ANT的build.xml代码准备:
build3.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
     <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
     </tstamp>

     <property environment="env"/>
     <property name="ReportName" value="TestReport" />
     <!-- 需要改成自己本地的 Jmeter 目录--> 
     <property name="jmeter.home" value="D:\B_TOOLS\apache-jmeter-2.13" />
     <!-- jmeter生成jtl、html格式的结果报告的路径--> 
     <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
     <!-- 生成的报告的前缀-->  
     <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
     <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />

     <target name="run">
         <echo message="start..."/>
         <antcall target="clean" />
         <antcall target="test" />
         <antcall target="report" />
     </target>

     <target name="clean">
         <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
     </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="D:\B_TOOLS\apache-jmeter-2.13\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" />
         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
         <copy todir="${jmeter.result.dir}">
             <fileset dir="${jmeter.home}/extras">
                 <include name="collapse.png" />
                <include name="expand.png" />
             </fileset>
        </copy>
     </target>
</project>

四、配置Jenkins Job并运行:

1、job配置如下:
这里写图片描述

2、job运行结果:
这里写图片描述

3、在job的workspace目录下会生成结果报告:
这里写图片描述

4、TestReport.html:
这里写图片描述
更新补充:

  上面生成的报告有如下两个问题,解决办法参见Jmeter自带报告优化(一):

  1、Date report这里的时间没有正确显示出来

  2、Summary里的字段Min Time和Max Time显示的是NaN,没有显示正确的时间。

五、配置发送邮件功能
1、网上下载sendmail.jar包,放在job的workspace目录中
这里写图片描述

2、jenkins增加构建步骤

  a)进入到测试报告的目录

  b) 调用sendmail.jar命令发送邮件
这里写图片描述

说明:

  1、由build3.xml的第12、13行可知,报告文件生成目录为:${env.WORKSPACE}/results/${env.BUILD_ID},所以这里我要先cd到具体执行的那个build_id目录下。

  2、我们也可以把上面的两行命令写在成一个批处理文件,例如我第1步有个sendmail.bat文件就是的,然后调用时直接写sendmail.bat就好了。

另外,我本文所有脚本都在我本地,其实更好的办法是使用SVN统一管理,这里就不介绍了,感觉的可以自己研究下。

作者:Glen.He
出处:http://www.cnblogs.com/puresoul/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值