一直想在持续集成方向学习并研究一番,近期正准备结合jmeter+ant+jenkins作自动化接口测试,在学习的同时,正好实践一番,毕竟实践才是真理。html
在搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境、安装好jenkins以及配置好jmeter,这样才能省去不少的事情,若是在搭建这套环境以前,尚未配置好刚说起的这三套工具环境,那还得先配置一番,具体的配置方法就不细说,可参见之前的博客:java
1.jmeter安装:http://www.javashuo.com/article/p-mxubbnfv-w.html,该博文中包含java环境的配置方式express
2.jenkins安装:http://www.javashuo.com/article/p-hbprirwh-r.htmlapache
将前置工做作好后,那就进入到今天的话题,jmeter+ant+jenkins的环境搭建工具
下载地址:http://ant.apache.org/学习
官网页面以下,找到download位置,点击下载ant安装文件测试
环境变量的配置方式就不用多说了,以下所示:ui
win+r打开cmd控制台,输入ant或者ant -version回车,出现以下界面,即表示配置成功spa
以下所示:插件
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddHHmmss" /> </tstamp> <!-- 须要改为本身本地的 Jmeter 目录--> <property name="jmeter.home" value="C:\apache-jmeter-3.3" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-3.3\demo\report\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="C:\apache-jmeter-3.3\demo\report\html" /> <!-- 生成的报告的前缀--> <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" /> <target name="run"> <antcall target="test" /> <antcall target="report" /> </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="C:\apache-jmeter-3.3\demo" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-report_21.xsl"> <!-- 修改本身本地存在的样式文件名 --> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
将对应须要修改的配置,改为本身环境路径以及名称便可
将jmeter.save.saveservice.output_format=csv修改成:jmeter.save.saveservice.output_format=xml
文件路径:C:\apache-jmeter-3.3\bin\jmeter.properties
结合配置文件中的配置,将脚本放到对应的文件夹中,在dos窗口进入到对应目录下,输入ant回车,便可运行脚本
提示successful,表示运行成功,来看对应的测试报告,以下:
配置日期格式混淆了,故作个记录
/* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 Number 2 E 星期中的天数 Text Tuesday; Tue a Am/pm 标记 Text PM H 一天中的小时数(0-23) Number 0 k 一天中的小时数(1-24) Number 24 K am/pm 中的小时数(0-11) Number 0 h am/pm 中的小时数(1-12) Number 12 m 小时中的分钟数 Number 30 s 分钟中的秒数 Number 55 S 毫秒数 Number 978 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 Z 时区 RFC 822 time zone -0800
脚本在dos窗口运行成功,说明jmeter+ant是已经实现,如今就要结合jenkins来实现自动构建。在安装好了jenkins的环境中,输入localhost:8080便可进入jenkins页面,地址和端口看各自的配置
配置构建
须要先安装插件HTML Publisher,插件安装成功后,才有该选项,具体安装就略过了
配置好,保存便可
就是刚配置的html报告
报告模板样式能够更改,下载样式后,在build.xml配置文件中修改便可
1.构建时,提示ant.bat不是内部或外部命令,也不是可运行的程序或批处理文件。
解决办法:检查配置,发现是配置ant时,名称与系统配置的ant名称不一致,致使构建失败。以下两图所示,名称需保持一致。
环境配置下来,其中也学到了不少,以前看文章知识,以为配置是个很麻烦的事情,本身实际操做一番,倒以为也不是那么难,只要本身想作,就必定能够。
本文仅表明做者观点,系做者@温一壶清酒发表。
欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
文章出处:http://www.cnblogs.com/hong-fithing/
原文出处:https://www.cnblogs.com/hong-fithing/p/10462493.html