jmeter+ant+jenkins集成

Posted zibinchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter+ant+jenkins集成相关的知识,希望对你有一定的参考价值。

一、软件准备

  • JDK: 1.8.0_181
  • Jmeter: apache-jmeter-4.0
  • Ant:apache-ant-1.10.5-bin
  • Jenkins : Jenkins 2.190.2

注意:如果Jenkins是2.17版本,jdk的版本是1.7如果你是在官网上下载最新的Jenkins版本,需要1.8的jdk,否则可能启动Jenkins失败。

 

 

 

一、软件安装

jdk、jmeter安装可以参考教程,这里不详述。

 

1.1 JDK 1.8.0 安装教程

 https://jingyan.baidu.com/article/ce09321b85e8d62bff858f93.html

 

 

1.2 Jmeter 4.0 安装教程

https://www.jianshu.com/p/d92519f5f725

最好安装在磁盘根目录下,方便后面使用

技术图片

 

 

1.3 apache-ant-1.10.5-bin 安装教程

 1.3.1 解压压缩包到C盘根目录

技术图片

 

 

1.3.2配置ant的环境变量

    ANT_HOME  D:apache-ant-1.10.1 

    Path  C:apache-ant-1.10.5in

    CLASSPATH  ;%ANT_HOME%lib

技术图片

 

 技术图片

 

技术图片

 

 

 

 

1.3.3 将D:apache-jmeter-4.0extras文件夹下的ant-jmeter-1.1.1.jar这个jar包复制到D:apache-ant-1.10.5lib文件夹下

 技术图片

 

 技术图片

 

 

 1.3.4 打开jmeterin目录下的 jmeter.properties文件,将 其中内容 :jmeter.save.saveservice.output_format=csv  改成   jmeter.save.saveservice.output_format=xml,记得去掉前面的“#”

技术图片

 

 技术图片

 

1.3.5 从D:apache-jmeter-4.0extras 目录下复制文件:build.xml到 C:apache-ant-1.10.5in 目录下

 技术图片

 

 技术图片

 

 

1.3.6 把代码粘贴到build.xml文档里

 1 <?xml version="1.0" encoding="UTF-8"?>  
 2    
 3 <project name="ant-jmeter-test" default="run" basedir=".">  
 4        
 5     <tstamp>  
 6         <format property="time" pattern="yyyyMMddhhmm" />  
 7     </tstamp>  
 8     <property name="basedirectory" value="D:apache-jmeter-4.0extras" />  
 9     <!-- 需要改成自己本地的 Jmeter 目录-->   
10     <property name="jmeter.home" value="D:apache-jmeter-4.0" />  
11     <!-- jmeter生成jtl格式的结果报告的路径-->  
12     <property name="jmeter.result.jtl.dir" value="C:UsersAdministrator.jenkinsworkspacejtl" />  
13     <!-- jmeter生成html格式的结果报告的路径--> 
14     <property name="jmeter.result.html.dir" value="C:UsersAdministrator.jenkinsworkspacehtml" />  
15     <!-- Name of test (without .jmx) --> 
16     <property name="test" value="Test"/>  
17     <!-- 生成的报告的前缀-->   
18     <property name="ReportName" value="TestReport" />  
19     <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/HC_API_report.jtl" />  
20     <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/HC_API_report.html" />  
21        
22     <path id="xslt.classpath">  
23         <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
24         <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
25     </path>  
26        
27     <target name="run">  
28         <antcall target="test" />  
29         <antcall target="report" />  
30     </target>  
31        
32     <target name="test">  
33         <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />  
34        
35     <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">  
36              <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--> 
37             <testplans dir="D:apache-jmeter-4.0loadTest" includes="*.jmx" />  
38         </jmeter>  
39     </target>  
40            
41     <target name="report">  
42         <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>  
43         <xslt classpathref="xslt.classpath" 
44               force="true" 
45               in="${jmeter.result.jtlName}" 
46               out="${jmeter.result.htmlName}" 
47               style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">  
48               <param name="dateReport" expression="${report.datestamp}"/>  
49         </xslt>  
50         <copy todir="${jmeter.result.html.dir}">  
51             <fileset dir="${jmeter.home}/extras">  
52                 <include name="collapse.png" />  
53                 <include name="expand.png" />  
54             </fileset>  
55         </copy>  
56     </target>  
57        
58 </project>

根据代码里的提示做符合自己当前需要测试所存放jtlhtml报告路径、执行哪些脚本等等

 

 

 

 

 

以上是关于jmeter+ant+jenkins集成的主要内容,如果未能解决你的问题,请参考以下文章

jmeter+Ant+Jenkins开展接口自动化测试集成

Ant+Jmeter+Jenkins集成

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

jmeter+ant+jenkins集成

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

Jenkins+Ant+JMeter集成