Jenkins+Ant+Jmeter自动化性能测试平台

Jmeter性能测试的工具,java编写、开源,小巧方便,可以图形界面运行也可以在命令行下运行。网上已经有人使用ant来运行,,既然可以使用ant运行,那和hudson、jenkins集成就很方便了,而且jenkins上也有相应的插件Performance Plugin,可以自动收集jmeter的测试结果,展示出来。

  首先去下载jmeter,在2.8版本中测试通过,2.9版本测试未通过。下载ant-jmeter-1.1.1.jar放在jmeter主目录lib文件夹下。

  下载需要的ant包,包含配置文件和一些jar包。里面的build.xml是配置文件,可以自定义。需要修改其中jmeter路径,然后直接ant运行即可。 


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

<project default="all">

<!-- Define your Jmeter Home & Your Report Title & Interval Time Between Test-->

<property name="report.title" value="WebLoad Test Report"/>

<property name="jmeter-home" location="D:\work\apache-jmeter-2.8" />

<property name = "interval-time-in-seconds" value ="10"/>

<!-- default path config, you can modify for your own requirement;Generally, you do not need to modify -->

<property environment="env" />

<property name="runremote" value="false"/>

<property name="resultBase" value="results"/>

<property name="results.jtl" value="jtl"/>

<property name="results.html" value ="html"/>

<property name="jmxs.dir"  value= "jmxs"/>

<tstamp><format property="report.datestamp" pattern="yyyy-MM-dd-HH-mm-ss"/></tstamp>

<property name="time" value="${report.datestamp}"/>

<!--  Diffrent version of Jmeter has its own ant-jmeter.jar,Please input the right versioin -->

<path id="ant.jmeter.classpath">

<pathelement location="${jmeter-home}/lib/ant-jmeter-1.1.1.jar" />

</path>

<taskdef name="jmeter"

classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"

classpathref="ant.jmeter.classpath" />

<!-- just to support foreach by ant -->

<taskdef resource="net/sf/antcontrib/antcontrib.properties" >

<classpath>

<pathelement location="./libs/ant-contrib-20020829.jar" />

</classpath>

</taskdef>

<!-- use this config to generate html report; if not, may not display Min/Max Time in html-->

<path id="xslt.classpath">

<fileset dir="./libs" includes="xalan-2.7.1.jar"/>

<fileset dir="./libs" includes="serializer-2.9.1.jar"/>

</path>

<!--运行之前首先创建临时结果文件夹-->

<target name="create-folder">

<delete dir="${resultBase}/temp"/>

<mkdir dir="${resultBase}/temp/${results.jtl}" />

<mkdir dir="${resultBase}/temp/${results.html}" />

</target>

<target name="all-test" depends="create-folder">

<foreach  param="jmxfile" target="test" >

<fileset dir="${jmxs.dir}">

<include name="*.jmx" />

</fileset>

</foreach>

</target>

<target name="test" >

<basename property="jmx.filename" file="${jmxfile}" suffix=".jmx"/>

<echo message="---------- Processing ${jmxfile} -----------"/>

<echo message="resultlogdir===${resultBase}/temp/${results.jtl}"/>

<jmeter jmeterhome="${jmeter-home}" resultlogdir="${resultBase}/temp/${results.jtl}" runremote="${runremote}" resultlog="${jmx.filename}.jtl"

testplan="${jmxs.dir}/${jmx.filename}.jmx">

<jvmarg value="-Xincgc"/>

<jvmarg value="-Xms1024m"/>

<jvmarg value="-Xm1024m"/>

</jmeter>

<sleep seconds="20"></sleep>

<!--Generate html report-->

<xslt   in="${resultBase}/temp/${results.jtl}/${jmx.filename}.jtl"

out="${resultBase}/temp/${results.html}/${jmx.filename}.html"  classpathref="xslt.classpath"

style="${jmeter-home}/extras/jmeter-results-report_21.xsl" >

<param name="dateReport" expression="${report.datestamp}"/>

<param name="showData" expression="n"/>

<param name="titleReport" expression="${report.title}:[${jmx.filename}]"/>

</xslt>

<echo message="Sleep ${interval-time-in-seconds} Seconds, and then start next Test; Please waiting ......"/>

<sleep seconds="${interval-time-in-seconds}"></sleep>

</target>

<target name="copy-images" depends="all-test">

<copy file="${jmeter-home}/extras/expand.png" tofile="${results.html}/expand.png"/>

<copy file="${jmeter-home}/extras/collapse.png" tofile="${results.html}/collapse.png"/>

<copydir src="${resultBase}/temp" dest="${resultBase}/${report.datestamp}"/>

<delete dir="${resultBase}/temp"/>

</target>

<target name="all" depends="all-test, copy-images" />

</project>

  jmxs文件夹存放jmeter脚本,ant会顺序执行其中的脚本,执行结果会放在results文件夹中,包含统计的html文件和jmeter的请求详细jtl文件。

  最后和jenkins集成,搭建jenkins环境,安装Performance Plugin插件,新建一个job,选择目标机器(机器上要有ant),填好svn或者cvs、定时执行、构建命令等。在Add post-build action中可以添加一个Publish Performance test result report用来收集jmeter测试结果,选择就meter,然后在Report files中填写**/*.jtl即可。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-26 22:15:05

Jenkins+Ant+Jmeter自动化性能测试平台的相关文章

无人值守自动化性能测试平台

1.背景介绍 性能测试平台是一款将性能测试执行.性能监控.数据分析和展示自动化起来的平台,尽可能的减少人工操作,提高效率.访问地址:http://qa.hz.netease.com/ptp 性能测试平台主要实现几个目标: 测试自动化,自动分发测试脚本.部署环境.执行测试.数据收集.数据集中分析,并生成结果报告. 资源集中管理,集中控制所有测试服务器和被测服务器,合理分配和调度资源,达到最大化利用. 持续集成,集成性能测试活动中的各个环节,对产品性能测试结果进行持续纵向和横向对比,关注产品性能变化

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

一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等. 接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性.接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大. 接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台

云效平台——基于jmeter的轻量级性能测试平台

做网站开发的同学都知道,网站的加载速度是影响用户访问的一个重要因素.如果你的网站打开速度很慢,那么你的访客很可能会流失到你的竞品平台,那么既浪费了用户推广成本,又造成了不良口碑,损失严重.所以选择使用什么样的性能测试工具,是每位做网站业务的负责人.开发测试同事都必须考虑的问题. 云效性能测试平台(Galaxy)是一个基于Jmeter的性能压测平台,它集脚本.场景.压测.监控和报表展示为一体,是一个能快速.低成本实施压测的平台.降低了入门使用成本,让开发和测试都可以方便的执行性能压测. 支持在线编

Apache Ant 实现自动化部署

Apache Ant 实现自动化部署 http://www.netkiller.cn/journal/java.ant.html Mr. Neo Chen (陈景峯), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地518131+86 13113668890 <netkiller@msn.com> 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明. 文档出处: http://netkiller.github.io http://netki

教你使用Foursquare的全自动化商户平台

Foursquare推出全自动化商户平台,用户去他们喜欢的地方签到,但优惠活动需要对签到进行位置验证.而且很明显,你必须到相应的店铺中给工作人员展示手机屏幕上的优惠券,才能获得优惠. 据国外媒体报道,Foursquare与美国运通(American Express)的合作伙伴关系在过去的几天里成了头条新闻,而且Foursquare还推出了全新改版的iPhone和Android应用程序.但这家公司为备战本次德州音乐节(SXSW)而采取的"震慑行动"还不止如此,最新的.可能也是威力最大的一

badboy + jmeter并发性能测试

今天下班时公司安排了一个同事来对项目做集群性能测试,怀着对性能测试的好奇心,下班后没有着急离开,而是等待 那位同事的到来,然后在旁边学习了下如何使用Badboy和jmeter做性能测试. 1. 软件介绍 1.1 Badboy Badboy,第一眼看见这个单词,以为是坏孩子的意思,后来一想,它是专门用来给项目找茬来的,取名为Badboy 倒是平添了几分可爱,呵呵. Badboy是用来录制操作过程的,它录制的结果是被jmeter做并发测试的素材使用. Badboy首页:http://www.badb

结构强度自动化计算平台StrenBox

随着飞机等结构的强度计算工作的深入,其工作量.效率和协作等问题得到越来越广泛的认识和关注,这客观上促进了结构强度自动化计算平台的设想和构建. 在飞机和火箭的结构上,包括静强度.动强度.疲劳和损伤容限等强度设计过程可大体上分为两部分工作,即应力计算和强度计算.前一部分工作根据结构的几何.材料和载荷等数据构筑有限元模型,并应用通用CAE软件计算结构的应力(内力)得到应力分析结果:后一部分工作则是应用应力分析结果,根据结构实际http://www.aliyun.com/zixun/aggregatio

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

一.环境准备 Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/ 安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如C:\jenkins,然后打开命令行窗口并进到该目录下,执行java -jar jenkens.war命令,当提示:"Jenkins is fully up and running"时,表示启动成功,这时在浏览器窗口输入:http://localhost:8080/ 就可到jenkins的首页. 如果有t

Apache JMeter web性能测试实例

Apache JMeter是可以对利用HTTP或FTP服务器的应用程序进行测试的工具.它是基于Java的,通过所提供的API它还具有高度可扩展性.典型的JMeter测试包括创建循环 和线程组.循环使用预设的延迟来模拟对服务器的连续请求.线程组是为模拟并发负载而设计的.JMeter提供了用户界面.它还公开了API,用户可以从Java应用程序来运行 基于JMeter的测试.为了在JMeter中创建负载测试,需要构建测试计划.在实际操作中,Jmeter需要执行一系列的操作.最简单的测试计划通常包括下列