【Jmeter】jenkins+ant+jmeter自动化性能测试平台
2015-11-04 09:23
603 查看
【Jmeter】jenkins+ant+jmeter自动化性能测试平台
Jmeter是性能测试的工具,java编写、开源,小巧方便,可以图形界面运行也可以在命令行下运行。网上已经有人使用ant来运行,http://www.programmerplanet.org/projects/jmeter-ant-task/,既然可以使用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运行即可。样例下载: http://pan.baidu.com/share/link?shareid=457243&uk=537055152
<?xmlversion="1.0" encoding="utf-8"?>
<project default="all">
<!-- Define your Jmeter Home & Your Report Title & Interval TimeBetween Test-->
<property name="report.title" value="WebLoad TestReport"/>
<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 ownant-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>
<pathelementlocation="./libs/ant-contrib-20020829.jar"/>
</classpath>
</taskdef>
<!--use this config to generate html report; if not, may not display Min/Max Timein 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>
<targetname="all-test"depends="create-folder">
<foreach param="jmxfile"target="test" >
<fileset dir="${jmxs.dir}">
<includename="*.jmx" />
</fileset>
</foreach>
</target>
<targetname="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">
<jvmargvalue="-Xincgc"/>
<jvmargvalue="-Xms1024m"/>
<jvmargvalue="-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"
>
jmxs文件夹存放jmeter脚本,ant会顺序执行其中的脚本,执行结果会放在
results文件夹中,包含统计的html文件和jmeter的请求详细jtl文件。最后和jenkins集成,搭建jenkins环境,安装
Performance Plugin插件,新建一个job,选择目标机器(机器上要有ant),填好svn或者cvs、定时执行、构建命令等。在Add
post-build action 中可以添加一个Publish Performance test resultreport用来收集jmeter测试结果,选择就meter,然后在Reportfiles中填写
**/*.jtl即可。
源文档 <http://www.verydemo.com/demo_c441_i214322.html>
Jmeter是性能测试的工具,java编写、开源,小巧方便,可以图形界面运行也可以在命令行下运行。网上已经有人使用ant来运行,http://www.programmerplanet.org/projects/jmeter-ant-task/,既然可以使用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运行即可。样例下载: http://pan.baidu.com/share/link?shareid=457243&uk=537055152
<?xmlversion="1.0" encoding="utf-8"?>
<project default="all">
<!-- Define your Jmeter Home & Your Report Title & Interval TimeBetween Test-->
<property name="report.title" value="WebLoad TestReport"/>
<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 ownant-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>
<pathelementlocation="./libs/ant-contrib-20020829.jar"/>
</classpath>
</taskdef>
<!--use this config to generate html report; if not, may not display Min/Max Timein 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>
<targetname="all-test"depends="create-folder">
<foreach param="jmxfile"target="test" >
<fileset dir="${jmxs.dir}">
<includename="*.jmx" />
</fileset>
</foreach>
</target>
<targetname="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">
<jvmargvalue="-Xincgc"/>
<jvmargvalue="-Xms1024m"/>
<jvmargvalue="-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"
>
jmxs文件夹存放jmeter脚本,ant会顺序执行其中的脚本,执行结果会放在
results文件夹中,包含统计的html文件和jmeter的请求详细jtl文件。最后和jenkins集成,搭建jenkins环境,安装
Performance Plugin插件,新建一个job,选择目标机器(机器上要有ant),填好svn或者cvs、定时执行、构建命令等。在Add
post-build action 中可以添加一个Publish Performance test resultreport用来收集jmeter测试结果,选择就meter,然后在Reportfiles中填写
**/*.jtl即可。
源文档 <http://www.verydemo.com/demo_c441_i214322.html>
相关文章推荐
- mysql中,让自动增长字段值复位/重新计数
- get_opt
- libjpeg 库的安装
- 生成模型与判别模型
- java 10 进制 转换为 2 进制, 利用递归
- CentOS 6.5下Redmine的安装配置
- 低功耗蓝牙4.0BLE编程-nrf51822开发(4)
- iOS textview的基础用法
- WCF basicHttpBinding之Message Security Mode
- 学习笔记3
- Shortest Word Distance 解答
- Stack 源代码
- 解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
- Oracle数据库的导出导入
- 十一、如何挑选股票?
- 使用_ObjectiveCBridgeable协议实现Objective-C类与Swift结构体的无缝互转
- MySQL的group_concat函数--实现查询结果 按列拼接
- 你真的会玩SQL吗?Case也疯狂
- 低功耗蓝牙4.0BLE编程-nrf51822开发(3)
- 将Long类型的时间转换成年月日时分秒