前言
本章主要讲述Windows环境下实现Jmeter+Ant+Jenkins自动化持续集成
主要实现的案例流程是:用Jenkins做定时任务定时去执行ant命令自动生成Jmeter接口的测试报告
- 注: Jmeter+Ant+Jenkins实现集成的前提是这三者环境都已安装部署好
关于Jmeter及Jenkins的下载安装我已在其他篇blog已讲述,这里主要讲一下Ant的部署配置
- 传送门
- 1)Jmeter:https://blog.csdn.net/Makasa/article/details/107558070
- 2)Jenkins:https://blog.csdn.net/Makasa/article/details/112347590
环境(环境具体下载地址请看其他篇blog)
- Apache Ant:1.10.9
- Java环境:jdk1.8
- Tomcat环境:Tomcat8
- Jenkins:war包
- Jmeter:apache-jmeter-3.1
一、Ant安装及环境配置
1、简要概述
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供.
2、下载安装
3、环境配置
3.1)新增系统变量ANT_HOME
- ANT_HOME
- D:\develop\apache-ant-1.10.9
3.2)新增系统变量CLASSPATH
- CLASSPATH
- %ANT_HOME%\lib
3.3)新增系统变量Path
- Path
- %ANT_HOME%\bin
4、检验是否配置成功
- Windows+R -->cmd
- 输入ant -v 出现版本信息则安装成功
二、Ant+Jmeter集成
-
目的:用ant构建命令来调动执行jmeter接口测试,并生成测试报告
-
在讲述集成之前,这边我建议大家先创建一个自己的目录,专门存放需要的文件,我的目录结构如下
1、配置ant的编译文件build.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\develop\apache-jmeter-3.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\develop\mikasaTest\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\develop\mikasaTest\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="D:\develop\mikasaTest\jmx" 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.shanhe.me.xsl" />
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
注意:需要更改的地方
2、将jmeter 的extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中
3、jmeter的配置文件修改
- 找到jmeter的bin目录,修改jmeter.properties的文件
3.1)将jmeter.save.saveservice.output_format=csv 改 jmeter.save.saveservice.output_format=xml,且去掉#
- 报告输出文件改为xml格式
4、执行测试
4.1)命令行cd到build.xml文件所在目录
4.2)输入ant run回车,执行测试
5、查看测试报告
三、Ant+Jmeter+Jenkins集成
Jenkins环境安装部署好之后,浏览器输入http://127.0.0.1:8080/打开Jenkins
1、配置Jdk及Ant,保存
2、新建并配置一个项目
2.1)新建一个自由风格项目
2.2)设置构建执行时间
- 关于构建执行时间格式可去网上自动生成
Cron表达式生成地址:https://cron.qqe2.com/
2.3)设置执行命令,然后保存
3、查看结果