jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1、jmeter
jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量
官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的是3.3版本,下载完后直接解压
2、ant
作用:项目构建,通过构建工具对多个项目文件进行统一批量的编译和运行。比如,对多个jmeter脚本批量运行
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于集成开发环境中
官网下载(http://ant.apache.org/bindownload.cgi),我用的1.10.1版本,下载完直接解压
这里需要配置ant的环境变量:#(win10系统)
新建:ANT_HOME D:\apache-ant-1.10.1
Path前面添加 %ANT_HOME%\bin;
验证:cmd输入ant,出现以下提示就说明ant配置成功,因为ant默认运行当前路径下的build.xml文件,以下路径下没此文件,所以提示不存在,build.xml需要我们一会创建,可以继续执行ant -version查看下版本号
3、将\apache-jmeter-3.3\extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下,否则编译时可能会报ant-jmeter-1.1.1.jar not found,切记
4、在jmeter的根目录下创建一个存放脚本和报告的文件夹testcases
5、在testcases目录下创建report文件夹和build.xml文件,或者从extras目录下复制build.xml文件到testcases下,编辑build.xml文件全选-删除,把下面我的配置复制上去,保存
 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="yyyyMMdd_hhmm" />
 6     </tstamp>
 7     <!-- 需要改成自己本地的 Jmeter 目录-->  
 8     <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.3" />
 9     <!-- jmeter生成jtl格式的结果报告的路径--> 
10     <property name="jmeter.result.jtl.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\jtl" />
11     <!-- jmeter生成html格式的结果报告的路径-->
12     <property name="jmeter.result.html.dir" value="D:\Program Files\apache-jmeter-3.3\testcases\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="D:\Program Files\apache-jmeter-3.3\testcases\cases" 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               >
45               <param name="dateReport" expression="${report.datestamp}"/>
46         </xslt>
47                 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
48         <copy todir="${jmeter.result.html.dir}">
49             <fileset dir="${jmeter.home}/extras">
50                 <include name="collapse.png" />
51                 <include name="expand.png" />
52             </fileset>
53         </copy>
54     </target>
55 </project>
以上注释很全,有一些地方需要根据你的目录情况自行更改一下,比如jmeter的目录,生成jtl和html的路径和下面的html样式
注意:不允许有匹配“[xX] [mM] [lL]”的处理指令目标。
原因:
xml文件中第一个元素前面不能为空!!!!!!!!!!!!<?xml前面不能有空格
注意2:要把前面的序号删除
注意:三用txt打开是UTF-8,需要Notepad++改成UTF-8 BOM编码
5、2找到jmeter配置文件,bin目录下jmeter.properties文档打开
把这个 jmeter.save.saveservice.output_format=csv改成下面xml
jmeter.save.saveservice.output_format=xml
6、用jmeter新建一个.jmx的脚本放到build.xml的目录,在当前地址栏输入cmd--ant,以下则说明构建成功,同时在report目录下会生成html和jtl文件,可以用浏览器打开html的文件

报错提示:

 


ps:报告样式可以在extras目录下自行选择xsl格式的文件复制到build.xml中即可
7、jenkins
下载tomcat(https://tomcat.apache.org/download-80.cgi)
官网下载(https://jenkins.io/download/),jenkins.war格式的文件,①在当前目录java -jar jenkins.war②或将其放在tomcat解压目录下的webapps下面,进入tomcat\bin下双击startup.bat启动tomcat
  
浏览器输入http://localhost:8080/jenkins,tomcat默认端口是8080,如果被占用可以在配置文件自行更改端口号,如果第一次配置jenkins安装默认推荐的插件即可

8、新建自由风格的项目

点击高级,选择点击使用自定义工作空间,(就是JMeter脚本目录和build.xml目录)

构建选择 Execut windows batc command配置ant命令。
 

点击保存之后,继续配置测试报告
如果没有安装推荐的插件在这里需要下载一个插件Public HTML reports
系统管理----》管理插件----》可选插件 输入Public HTML reports 进行查询并进行安装
接下来继续配置报告
点击增加构建后操作步骤 并点击Public HTML reports
第一个是生成报告路径,第二个是报告名称。
 
并点击保存按钮 好了 现在我们报告也配置好了
现在进行jenkins构建下吧



好了到了这一步 已经构建成功了,Success !
我们在jenkins下面看下报告



Locale插件是可以设置中文的;Groovy Postbuild 插件是解决HTML报告丢失的:固定执行脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
HTML Publisher 插件是出html报告的,如下图选择system Groovy scipt

之后可以用jenkins定时器定时执行jmeter脚本,也可以批量执行jmeter脚本
1.jmeter直接下载解压,配置环境变量就可以用cmd打开jmeter,在后续进阶使用jmeter也会需要配置环境变量
2.在系统变量中添加俩个属性
开始》计算机》(右键)属性》高级系统设置》环境变量》(下面)系统变量
3.名称:JMETER_HOME
路径:E:\soft\apache-jmeter-4.0 (就是jmeter保存的路径)
4.在用系统变量path后面加上 ;%JMETER_HOME%\bin 注意是系统变量
5.配置完成后使用cmd直接输入jmeter就可以打开jmeter
问题1:
JVM 应该已经退出但没有退出
stackTrace:java.net.SocketInputStream
可以-Jjmeterengine.force.system.exit=true在启动 JMeter 时在命令行中添加,或添加jmeterengine.force.system.exit=true到 JMETER_HOME/bin/jmeter.properties。
本文来自博客园,作者:无泪人,转载请注明原文链接:https://www.cnblogs.com/zenghongfei/p/11633773.html
 
                    
                

 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号