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

【前言】

今天让我们先把准备工作做好 >> 搭建环境!

【正文】

JDK+Jmeter安装教程:

参考博客:https://www.cnblogs.com/baoziluo/p/7905659.html

Ant安装教程:

1.官网下载:http://ant.apache.org/bindownload.cgi

2.下载后得到的是一个的压缩包,将其解压到你指定的文件夹即可,例如本人的路径为:D:\ant\apache-ant-1.9.11

配置Ant的环境变量:打开控制面板–>系统和安全–>系统–>高级系统设置–>高级–>环境变量

系统变量名 变量值
ANT_HOME D:\ant\apache-ant-1.9.11;(你ant解压的目录路径)
path D:\ant\apache-ant-1.9.11/lib;
classpath D:\ant\apache-ant-1.9.11/bin;

释:新建系统变量:ANT_HOME,填入变量值:D:\ant\apache-ant-1.9.11(你ant解压的目录路径)

  编辑path,在末尾添加变量值:D:\ant\apache-ant-1.9.11/lib;(你ant解压的目录路径)

  编辑classpath,在末尾添加变量值:D:\ant\apache-ant-1.9.11/bin;(你ant解压的目录路径)

注:有些小伙伴会用相对路径配置环境变量,例:%ANT_HOME%;楼主使用过,但是用命令行检索时,检索不出正确安装的显示结果,所以建议还是使用绝对路径

打开命令行,输入:ant -version

【见到图中显示结果说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立 <build文件我会在下面说明>】 

 

 查看版本:ant -version 

 

3.本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告:

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

(2)将apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.11\lib目录下.

(3)在\apache-jmeter-3.2\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-3.\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件.

(4)若构建失败,请分析cmd打印的日志消息,定位问题.

build文件(手动新建):

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project name="ant-jmeter-test" default="all" basedir=".">  
 3     <tstamp>  
 4         <format property="time" pattern="yyyyMMddhhmm" />  
 5     </tstamp>  
 6     <!-- 需要改成自己本地的 Jmeter 目录-->  
 7     <property name="jmeter.home" value="C:\Program Files (x86)\apache-jmeter-3.2" />  
 8     <!-- jmeter生成jtl格式的结果报告的路径-->  
 9     <property name="jmeter.result.jtl.dir" value="D:\jmeterTest\resultLog\jtl" />  
10     <!-- jmeter生成html格式的结果报告的路径-->  
11     <property name="jmeter.result.html.dir" value="D:\jmeterTest\resultLog\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     <target name="all">  
18         <antcall target="test" />  
19         <antcall target="report" />  
20     </target>  
21       
22     <target name="test">  
23         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />  
24         <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">  
25             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->  
26             <testplans dir="D:\jmeterTest\testscript" includes="*.jmx" />  
27             
28             <property name="jmeter.save.saveservice.output_format" value="xml"/>
29             
30         </jmeter>  
31     </target>  
32     
33     <target name="report">  
34         <xslt in="${jmeter.result.jtlName}"  
35               out="${jmeter.result.htmlName}"  
36               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />  
37           
38         <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->  
39         <copy todir="${jmeter.result.html.dir}">  
40             <fileset dir="${jmeter.home}/extras">  
41                 <include name="collapse.png" />  
42                 <include name="expand.png" />  
43             </fileset>  
44         </copy>  
45     </target>  
46 </project>  

Jenkins安装教程:

1.配置配置Tomcat环境 

tomcat 是针对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能运行起来

(1)下载Tomcat选择合适的版本 

Tomcat官方网站: http://tomcat.apache.org/ 

(2)解压此文件,对下载的压缩包进行解压,目录结构如下:

启动和关闭Tomcat服务:

点击startup.bat,运行成功,我们通过localhost:8080可以访问到tomcat主页,8080为默认端口,根据实践情况添加端口

 

2.配置Jenkins环境 
(1)下载Jenkins 
官方网站:http://jenkins-ci.org/ 

(2)安装Jenkins

点击安装程序,直接点击next 我们直接将其安装到 tomcat 的 webapps\jenkins目录下。 

例:D:\apache-tomcat-8.5.31\webapps\jenkins

(3)运行Jenkins 

 进入 tomcat 的 bin/目录下启动 startup.bat :

通过浏览器访问:http://localhost:8080/,得到:

(楼主这是有注册了帐号显示的界面,如果第一次登陆的用户参考下创建步骤:https://jingyan.baidu.com/article/cbcede077f62bf02f40b4de2.html

到这里整套环境就搭建完成了,可以自行构建测试是否达到预期.

遇到的问题:

 1.如果在运行过程中这个问题:

report:
     [xslt] Processing D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl to D:\Tools\apache-jmeter-2.13\demo\report\html\TestReport201805300923.html
     [xslt] Loading stylesheet D:\Tools\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
     [xslt] : Error! 前言中不允许有内容。
     [xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
     [xslt] Failed to process D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl

解决办法:在build.xml文件的jmeter标签中添加这么一句话:

<property name="jmeter.save.saveservice.output_format" value="xml"/>

2.测试报告中三个指标为NaN

解决办法:需要从Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里

3.taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]

解决办法:将JMeter所在目录下的extras子目录里面的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录下

猜你喜欢

转载自www.cnblogs.com/baoziluo/p/9109397.html