一、准备
1.安装jdk ---》点击查看安装教程
2.安装jmeter ,官网下载jmeter解压,配置jmeter环境:
JMETER_HOME (解压jdk路径)
Path (;%JMETER_HOME%\bin;)
CLASSPATH (; %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar)
检验是否安装成功:
在cmd中输入命令jmeter -v ,出现如下图,表示安装成功
使用:打开 F:\apache-jmeter-4.0\bin目录下的 jmeter.bat (windows是jmeter.bat, mac是jmeter),打开如下
编写接口测试脚本:点我查看!点我查看!点我查看!
3.安装ant ,下载解压ant,配置ant环境变量:
ANT_HOME D:\ant\apache-ant-1.9.7(安装路径)
path ;%ANT_HOME%\bin; 如果没有path变量,则新建一个。
检验是否安装成功:
在cmd中输入命令ant -v ,如图表示安装成功
4. ant + jmeter
4.1、将Jmeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到ant所在目录lib子目录之下,ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发 Jmeter脚本
4.2、建了一个目录apache-jmeter-4.0\reportlog,目录中分别建立了html和jtl两个文件夹,之后Ant运行之后将jtl中的文件转换成html中
4.3、在D:\java\Jmeter+ant+jenkins\apache-ant-1.9.7-bin文件中建立一个build.xml文件(将build.xml和脚本放到相同目录下面,方便操作),build.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmmss" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="/root/interface/apache-jmeter-2.13" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="/root/interface/result/jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="/root/interface/result/html" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="run"> <antcall target="test" /> <antcall target="report" /> </target> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <testplans dir="/root/interface/result/jmx" includes="*.jmx" /> <!-- testplans dir="D:\study\interface\result\jmx" includes="*.jmx"--> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" > <param name="dateReport" expression="${report.datestamp}"/> </xslt> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
4.4.修改build.xml
修改下图中标记1的位置路径
将2和3 位置修改为存放jtl和html报告的路径
将下图标记4的位置修改为jmeter脚本的存放路径
4.5、修改Jmeter的bin目錄下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml (build.xml需调用)
4.6 在存放脚本的目录下打开cmd,输入命令ant,出现如图所示的界面时,生成测试报告,报告保存在html文件夹中
5.解压并配置tomcat
解压Tomcat文件
新建变量名:CATALINA_BASE,变量值为tomcat安装路径
新建变量名:CATALINA_HOME,变量值为tomcat安装路径
打开PATH,添加变量值:;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;(分号是把path的各个变量分开)
检验tomcat的环境是否成功:第一种方法,在cmd中,输入startup,按回车键,启动tomcat
6.安装jenkins
点我查看jenkins安装教程!点我!点我!点我!
这里我们使用的方法是用servlet容器来部署jenkins,使用的是tomcat
jenkins直接安装到tomcat对应的webapps目录,启动tomcat之后直接http://localhost:8080访问jenkins(启动jenkins服务:net start jenkins 和 关闭jenkins服务命令:net stop jenkins)
二、集成到jenkins
1.启动jenkins
2.系统设置->管理插件->可选插件,搜索Performance (Jmeter报告需要),安装此插件
3.因为需要用到ANT和JDK,所以需要在jenkins中添加插件,选择点击“系统管理”,之后在Global Tool Configuration的界面看到ant和jdk选项,然后将自己本地的ANT和JDK地址填写上
三.定时构建
定时构建语法:
* * * * *(五颗星,中间用空格隔开)
第一颗*表示分钟,取值0~59
第二颗*表示小时,取值0~23
第三颗*表示一个月的第几天,取值1~31
第四颗*表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
eg:
每30分钟构建一次:H/30 * * * *
每2个小时构建一次:H H/2 * * *
每天早上8点构建一次:0 8 * * *
多个时间点,中间用逗号隔开:
每天的8点,12点,22点,一天构建3次:0 8,12,22 * * *
*:表示任意合理的数
a-b:表示一个范围,比如:5-8 * * * * OR * 5-8 * * *。具体表达的意思参考上面的含义
a-b/c OR */c:表示一个范围内每个c构建一次,比如:5-10/2 * * * * OR * */3 * * * 具体表达的意思参考上面的含义
a,b,c:表示为a、b、c时构建一次,比如:7,8,9 * * * * OR * * 13,5 * * 具体表达的意思参考上面的含义
我的构建:每周一到周五早上10点 :0 10 * * 1-5
四、集成优化
1.发送邮件
点我查看详细教程!!!
2.邮件中添加报告附件
点我查看详细教程!!!
3.优化报告格式
在jenkins系统管理中输入以下脚本运行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")