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盘根目录
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 - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分