一、准備
1.安裝jdk ---》點擊查看安裝教程
2.安裝jmeter ,官網下載jmeter解壓,配置jmeter環境:
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、在...\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
這里我們使用的方法是用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", "")