JMeter+ant+Jenkins部署持续集成环境(一)

一、JMeter+ant+Jenkins 框架简介

JMeter+ant+Jenkins是一个轻量级接口测试框架,这里会用到以下知识点:

1、jmeter的使用   2、接口测试  3、ant   4、tomcat部署

上面博文已经介绍了环境的准备:1、Jenkins  2、JDK  3、Ant

下面进入到接口测试阶段。

二 、Ant调用jmeter接口步骤

1、安装好Ant和Jmeter。

2、完成一个Jmeter接口脚本,并保证是正确的。

3、将Jmeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复 制到Ant所在目录lib子目录下。

扫描二维码关注公众号,回复: 6273975 查看本文章

4、将jmeter.results.shanhe.me.xsl放到jmeter的extras目录下。

这是jmeter报告的html模板,可自行放入自己的模板。

5、修改jmeter目录下的bin/jmeter.properties,找到 jmeter.save.saveservice.output_format,去掉注释并设置为xml。

6、创建脚本目录

脚本目录的作用:

1、mhk_ant_jmeter文件夹下有result和script连个子目录和 build.xml文件。

2、script目录用来存放jmeter脚本的。

3、build.xml文件是ant的核心配置文件。

4、result文件夹下有html和jtl两个子目录。

5、jtl目录用来存放jmeter生成的结果文件。

6、html用来存放最后生成的测试报告(html类型)。

三、新建build.xml文件,内容如下:

这里的许多路径都要换成自己的路径:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <project name="jmeter_test" default="all" basedir=".">
 3     <tstamp>
 4         <format property="time" pattern="yyyyMMddhhmm" />
 5     </tstamp>
 6     <!-- 需要改成自己本地的 Jmeter 目录-->
 7     <property name="jmeter.home" value="E:\apache-jmeter-5.1.1" />
 8     <!-- jmeter生成jtl格式的结果报告的路径-->
 9     <property name="jmeter.result.jtl.dir" value="C:\Users\wuzongmei\Desktop\day9\mhk_ant_jmeter\result\jtl" />
10     <!-- jmeter生成html格式的结果报告的路径-->
11     <property name="jmeter.result.html.dir" value="C:\Users\wuzongmei\Desktop\day9\mhk_ant_jmeter\result\html" />
12     <!-- 生成的报告的前缀 -->
13     <property name="ReportName" value="TestReport" />
14     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
15     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
16     <!-- 接收测试报告的邮箱 -->
17     <!--<property name="mail_to" value="[email protected]" /> 不用ant来发邮件,用Jenkins-->
18     <!-- 电脑地址 -->
19     <property name="ComputerName" value="wuzm" />
20     <target name="all">
21         <antcall target="test" />
22         <antcall target="report" />
23     </target>
24     <target name="test">
25         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><!-- 一个类名,无需修改 -->
26         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
27             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
28             <testplans dir="C:\Users\wuzongmei\Desktop\day9\mhk_ant_jmeter\script" includes="*.jmx" /><!-- 以.jmx结尾的都执行 -->
29             <property name="jmeter.save.saveservice.output_format" value="xml"/><!--和jmeter.properties里的配置一样-->
30         </jmeter>
31     </target>
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     <target name="report">
37         <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
38         <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-report_zw.xsl" >
39          <param name="dateReport" expression="${report.datestamp}"/>
40         </xslt>
41         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
42         <copy todir="${jmeter.result.html.dir}">
43             <fileset dir="${jmeter.home}/extras">
44                 <include name="collapse.png" />
45                 <include name="expand.png" />
46             </fileset>
47         </copy>
48     </target>
49     <!-- 发送邮件 -->
50 </project>

四、通过build运行jmeter脚本

在cmd下,进入到build所在目录,然后执行命令:ant,如下图,则运行成功

则在result\html 目录下可以看到生成的html报告,如下:

五、打开该报告,可以看到没有返回和请求数据

解决办法:进入jmeter.properties,把下面几句代码注释去掉,然后改为true

猜你喜欢

转载自www.cnblogs.com/wuzm/p/10925975.html