jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1、jmeter
jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量
官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的是3.3版本,下载完后直接解压
2、ant
作用:项目构建,通过构建工具对多个项目文件进行统一批量的编译和运行。比如,对多个jmeter脚本批量运行
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于集成开发环境中
官网下载(http://ant.apache.org/bindownload.cgi),我用的1.10.1版本,下载完直接解压
这里需要配置ant的环境变量:#(win10系统)
新建:ANT_HOME D:\apache-ant-1.10.1
Path前面添加 %ANT_HOME%\bin;
验证:cmd输入ant,出现以下提示就说明ant配置成功,因为ant默认运行当前路径下的build.xml文件,以下路径下没此文件,所以提示不存在,build.xml需要我们一会创建,可以继续执行ant -version查看下版本号
3、将\apache-jmeter-3.3\extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下,否则编译时可能会报ant-jmeter-1.1.1.jar not found,切记
4、在jmeter的根目录下创建一个存放脚本和报告的文件夹testcases
5、在testcases目录下创建report文件夹和build.xml文件,或者从extras目录下复制build.xml文件到testcases下,编辑build.xml文件全选-删除,把下面我的配置复制上去,保存
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <project name="ant-jmeter-test" default="run" basedir=".">
4 <tstamp>
5 <format property="time" pattern="yyyyMMdd_hhmm" />
6 </tstamp>
7 <!-- 需要改成自己本地的 Jmeter 目录-->
8 <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.3" />
9 <!-- jmeter生成jtl格式的结果报告的路径-->
10 <property name="jmeter.result.jtl.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\jtl" />
11 <!-- jmeter生成html格式的结果报告的路径-->
12 <property name="jmeter.result.html.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\html" />
13 <!-- 生成的报告的前缀-->
14 <property name="ReportName" value="TestReport" />
15 <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
16 <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
17
18 <target name="run">
19 <antcall target="test" />
20 <antcall target="report" />
21 </target>
22
23 <target name="test">
24 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
25 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
26 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
27 <testplans dir="D:\Program Files\apache-jmeter-3.3\testcases\cases" includes="*.jmx" />
28 <property name="jmeter.save.saveservice.output_format" value="xml"/>
29 </jmeter>
30 </target>
31
32 <path id="xslt.classpath">
33 <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
34 <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
35 </path>
36
37 <target name="report">
38 <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
39 <xslt
40 classpathref="xslt.classpath"
41 force="true"
42 in="${jmeter.result.jtlName}"
43 out="${jmeter.result.htmlName}"
44 >
45 <param name="dateReport" expression="${report.datestamp}"/>
46 </xslt>
47 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
48 <copy todir="${jmeter.result.html.dir}">
49 <fileset dir="${jmeter.home}/extras">
50 <include name="collapse.png" />
51 <include name="expand.png" />
52 </fileset>
53 </copy>
54 </target>
55 </project>
以上注释很全,有一些地方需要根据你的目录情况自行更改一下,比如jmeter的目录,生成jtl和html的路径和下面的html样式
6、用jmeter新建一个.jmx的脚本放到build.xml的目录,在当前地址栏输入cmd--ant,以下则说明构建成功,同时在report目录下会生成html和jtl文件,可以用浏览器打开html的文件
ps:报告样式可以在extras目录下自行选择xsl格式的文件复制到build.xml中即可
7、jenkins
下载tomcat(https://tomcat.apache.org/download-80.cgi)
官网下载(https://jenkins.io/download/),jenkins.war格式的文件,①在当前目录java -jar jenkins.war②或将其放在tomcat解压目录下的webapps下面,进入tomcat\bin下双击startup.bat启动tomcat
浏览器输入http://localhost:8080/jenkins,tomcat默认端口是8080,如果被占用可以在配置文件自行更改端口号,如果第一次配置jenkins安装默认推荐的插件即可
8、新建*风格的项目
选择第一个*风格,然后点击OK按钮
配置ant,增加build路径
点击保存之后,继续配置测试报告
如果没有安装推荐的插件在这里需要下载一个插件Public HTML reports
系统管理----》管理插件----》可选插件 输入Public HTML reports 进行查询并进行安装
接下来继续配置报告
点击增加构建后操作步骤 并点击Public HTML reports
并点击保存按钮 好了 现在我们报告也配置好了
现在进行jenkins构建下吧
好了到了这一步 已经构建成功了,Success !
我们在jenkins下面看下报告
之后可以用jenkins定时器定时执行jmeter脚本,也可以批量执行jmeter脚本
编写 者:一飞冲天,威力无边