Jenkins + Jmeter +Ant自动化集成环境搭建

Posted LaMw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins + Jmeter +Ant自动化集成环境搭建相关的知识,希望对你有一定的参考价值。

所需工具

一、jmeter 工具下载 https://jmeter.apache.org/  配置环境JDK等及各种插件可以看小七之前的教程

二、Ant安装(http://ant.apache.org/) 安装Ant是为了后续在Jenkins中封装、构建、执行需要用到

Apache Ant™
Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为相互依赖的目标和扩展点。Ant的主要用途是构建Java应用程序。Ant提供了许多内置任务,允许编译,组装,测试和运行Java应用程序。Ant还可以有效地用于构建非Java应用程序,例如C或C ++应用程序。更一般地说,Ant可以用来试验任何类型的过程,可以用目标和任务来描述。

Ant是用Java编写的。Ant的用户可以开发自己的包含Ant任务和类型的“antlibs”,并提供大量现成的商业或开源“antlibs”。

Ant非常灵活,并且不会将编码约定或目录布局强加给采用它作为构建工具的Java项目。

寻找结合构建工具和依赖管理的解决方案的软件开发项目可以将Ant与Apache Ivy结合使用。

Apache Ant项目是Apache Software Foundation的一部分。

  

三、Jenkins安装 https://jenkins.io/(部署在tomcat)

 


 一、jmeter安装略

 二、Ant安装

选择  二进制分布 下载

1、下载 apache-ant-1.9.11-bin.tar.gz  目录位置随意 笔者是放在tomcat 同级目录下

 

 

 

2、配置环境变量

window中设置ant环境变量:

ANT_HOME   E:\\tool\\apache-ant-1.9.11-bin\\apache-ant-1.9.11

path             E:\\tool\\apache-ant-1.9.11-bin\\apache-ant-1.9.11\\bin

classpath      E:\\tool\\apache-ant-1.9.11-bin\\apache-ant-1.9.11\\lib

 

3、验证ant

输入 ant

显示如下 即安装成功     

也可以查看版本号

输入 ant -version

4、ant使用

     

1、配置xml文件
Jmeter目录位置:G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0,在jmeter中建立demo\\report文件夹,demo中创建build.xml文件,需要配置Jmeter目录、生成报告的路径,报告的格式和脚本目录,内容如下:
  

 

 

 

 

 

 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="G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0" />
 9     <!-- jmeter生成jtl格式的结果报告的路径--> 
10     <property name="jmeter.result.jtl.dir" value="G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0\\demo\\report\\jtl" />
11     <!-- jmeter生成html格式的结果报告的路径-->
12     <property name="jmeter.result.html.dir" value="G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0\\demo\\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}${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="G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0\\demo" 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               style="${jmeter.home}/extras/jmeter-results-report_21.xsl">
45               <!-- 这里有个坑,网上的教程里面 不要copy了就不当回事, 需要在\\apache-jmeter-4.0\\extras 目录下找到对应的执行文件 --> 
46               <param name="dateReport" expression="${report.datestamp}"/>
47         </xslt>
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 </project>

 

 

 

 

 

 

 

2、将jmeter测试脚本放入demo目录下,当然放入其他位置也可以,build.xml中需要配置jmeter脚本存放路径的对应位置。

 

2、ant构建运行Jmeter,并且生成jtl、Html报告

  1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
    1.  

  2.   也可以在NON-GUI模式执行的时候 命令执行保存为xml    :G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0\\bin\\jmeter.bat -n -r -t test.jmx -l test.xml -e -o test
  3. 将G:\\Tools\\apache-jmeter-4.0\\apache-jmeter-4.0\\extras\\ant-jmeter-1.1.1.jar拷贝到E:\\tool\\apache-ant-1.9.11-bin\\apache-ant-1.9.11\\lib目录下;
    1.  

    2. 拷贝到

       

  4. 在\\apache-jmeter-4.0\\apache-jmeter-4.0\\extras目录下打开CMDER,运行"ant.bat -file build.xml -Dtest=Test" (2019-09-26更新:直接执行ant即可。无须执行这么长了). 查看\\apache-jmeter-4.0\\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功会显示 BUILD SUCCESSFUL。PS:Test.jmx是默认存在的Sample脚本文件。
  5.  

3、验证配置,执行构建测试
  将之前jmeter的脚本保存, 并将build.xml配置文件放在与测试脚本相同的目录下

 

 

打开cmder 执行ant run

执行成功

 

 

 

 

 

三、Jenkins 部署

Jenkins 是基于 Java 开发的一种持续集成工具,所以,Jenkins 需要 Java 环境,所以请自行安装好jdk

1、安装 tomcat
tomcat 是真对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能
运行起来。
tomcat 官方网站:http://tomcat.apache.org/

安装成功之后,

 

PS:通常将需要运行有应用放到 webapps/目录下

进入 bin/目录下,双击 startup.bat 来启动 tomcat 服务器

访问 http://localhost:8080

安装成功

2、安装 Jenkins

Jenkins 官方网站:http://jenkins-ci.org/

找到对应系统所对应的 Jenkins 版本,下载安装

双击安装,步骤这里就不一一截图了.安装的时候 如下图,目录放到tomcat的webapps中

 

 

运行 Jenkins
进行 tomcat 的 bin/目录下启动 startup.bat ,通过浏览器访问:http://localhost:8080/
ps:请勿在启动tomcat未关闭时启动Jenkins,否则会导致端口冲突

如果想要满足同时看到tomcat界面与jenkins界面

可执行下面操作

改变端口执行:
java -jar jenkins.war --httpPort=$HTTP_PORT, 例如java -jar jenkins.war --httpPort=6060          也可在可在..\\Jenkins\\jenkins.xml中修改默认端口
启动成功;

后打开浏览器,输入http:/localhost:6060,即可看到jenkins的页面


 

首次进入Jenkins 需要做一些配置

第一步、 不多做解释了,中文大家都懂,点击“继续”进入下一步

 

第二步、选择安装所需插件,刚开始玩可以选择左侧的推荐插件

安装插件ing.........

第三步、安装完成后创建用户

 

 

 

各项设置成功之后 即可看到Jenkins的页面.下面就可以创建任务了

PS:插件功能可以用来后续拓展功能使用,目前的环境搭建可以不需要安装插件

 

1. jenkin 相关插件介绍与配置

提前下载好插件:

系统管理- 管理插件- 可选插件

下载所需的插件,例如:Performance plugin、HTML Publisher plugin、Ant Plugin 等

1)  配置中 添加 Jmeter插件:Performance plugin、HTML Publisher plugin

     功能:用来展示jmeter执行结果

2)  配置中 添加 Ant插件:Ant Plugin

功能:用来执行Ant

 

 

2、新建一个任务,构建一个自由风格的软甲项目

 

1)

2)选择构建触发器---增加构建步骤---INVOKE ANT

Targets 应该填什么?查看build.xml文件   查看 default="run" 这个参数。根据ant的build.xml中的default= ()来填

 

 

 

 

 3)选择高级

4) Build File :此处输入的是build.xml文件的位置

 

 

3、配置之后保存,回到工作台 点击右侧的执行按钮  ,左侧会出现 执行状态

 构建历史中科院查看构建过的任务

控制台输出中查看执行的日志信息

在本地输出的状态报告中可以查看到新生成报告

 

 

 4、集成环境已经搭建完成,也可以设置一个定时任务 执行自动化集成

构建触发器:选择此项目构建的触发条件,例如本项目的是为了实现接口的定时监控,于是选择Build periodically(定期构建)。

注意:关于定期构建参数的说明:"* * * * *",总共有5个参数,分别代表分(0~59)、时(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

 

 

以上是关于Jenkins + Jmeter +Ant自动化集成环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

jenkin运行jmeter自动化脚本(jenkins+jmeter+ant)

jmeter ant jenkins自动化构建

接口测试自动化:基于Ant+Jmeter+Jenkins

Jenkins+Ant+Jmeter自动化测试平台

jmeter + ant + jenkins 自动化集成环境搭建