您的位置:首页 > 其它

WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)

2016-12-08 18:00 399 查看
Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。

1、安装JDK,配置java环境变量(略过)

2、安装Jmeter,这里用到的版本是2.12(安装过程略过)

3、安装 ANT

3.1 下载安装

下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,
比如:D:/program files/apache-ant-1.9.0

3.2 配置环境变量

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="yyyyMMddhhmm" />
6     </tstamp>
7     <!-- 需要改成自己本地的 Jmeter 目录-->
8     <property name="jmeter.home" value="C:\apache-jmeter-2.12" />
9     <!-- jmeter生成jtl格式的结果报告的路径-->
10     <property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-2.12\bin\test\smoke_report\jtl" />
11     <!-- jmeter生成html格式的结果报告的路径-->
12     <property name="jmeter.result.html.dir" value="C:\apache-jmeter-2.12\bin\test\smoke_report\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}.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="C:\apache-jmeter-2.12\bin\test\冒烟测试" includes="*.jmx" />
28
29              <property name="jmeter.save.saveservice.output_format" value="xml"/>
30         </jmeter>
31     </target>
32
33      <path id="xslt.classpath">
34         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
35         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
36      </path>
37
38     <target name="report">
39         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
40         <xslt
41               classpathref="xslt.classpath"
42               force="true"
43
44               in="${jmeter.result.jtlName}"
45               out="${jmeter.result.htmlName}"
46               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
47
48         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
49         <copy todir="${jmeter.result.html.dir}">
50             <fileset dir="${jmeter.home}/extras">
51                 <include name="collapse.png" />
52                 <include name="expand.png" />
53             </fileset>
54         </copy>
55     </target>
56
57 </project>


View Code
如下按实际情况修改build.xml文件





4.2.2 配置jmeter.properties

配置jmeter报告输出格式为xml在jmeter根目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为

jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#



4.3 验证配置,执行构建测试

4.3.1 准备测试脚本数据

build配置文件放在与测试脚本同目录



4.3.2 执行测试

命令行cd到build.xml文件所在目录,输入ant run ,执行测试



看到build successful 则说明构建测试成功

4.3.3 报告输出路径下查看测试结果报告

按build.xml文件中设置的测试报告地址找到html版测试报告



打开看看:测试结果展现了用例数、成功率、用例执行时间等结果参数



4.4、 测试报告优化

用jmeter自带的测试报告得到的测试报告信息并不是很全,这里参考网上的方法,做一个优化

4.4.1、下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中,

如C:\apache-jmeter-2.12\extras

4.4.2、设置测试输出报告要输出的内容

同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true



4.4.3 设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl



4.4.4、按前面的方式再次用ant构建测试,查看优化后的测试报告



5、配置jenkins

5.1 、jinkins.war的下载与安装,下载后放到d盘根目录

5.2 、配置环境变量,设置JENKINS_HOME



5.3 、解压并启动jenkins

命令行输入java -jar jenkins.war,浏览器中输入url:jenkins所在主机IP 端口:8080 ,打开jenkins,

配置用户名、密码及插件,这里需要配置invoke ant插件、HTML测试报告展示的插件

5.4、新建并配置一个JOB



设置项目名称:



配置构建:



配置构建:invoke ant



配置build文件路径:



配置测试报告插件,用于打开测试结果报告



基本配置完成

5.5、JOB主页,点击立即构建,执行测试,构建完成即可通过HTML_Report来查看测试结果



继续构建基本完成,另外还 可以配置邮件插件来发送测试报告,设置构建时间来定时自动执行测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: