1. 安裝Jmeter、jdkjavascript
Jmeter 3.3版本 :<http://note.youdao.com/noteshare?id=5e3fd287db24d08386207a7de22d2629&sub=D4C59A1418E643BEAD9D349C69398275>css
jdk 1.8版本 :https://pan.baidu.com/s/1nv668Mthtml

3. 安裝Jenkins java

5. 創建build.xmlnode
Jmeter 根目錄建立一個demo文件夾,將build.xml和腳本放置在裏面,而且須要配置下jmeter路徑以及報告樣式linux


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="yyyyMMddhhmm" /> 6 </tstamp> 7 <!-- 須要改爲本身本地的 Jmeter 目錄--> 8 <property name="jmeter.home" value="D:\apache-jmeter-3.3" /> 9 <!-- jmeter生成jtl格式的結果報告的路徑--> 10 <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-3.3\demo\report\jtl" /> 11 <!-- jmeter生成html格式的結果報告的路徑--> 12 <property name="jmeter.result.html.dir" value="D:\apache-jmeter-3.3\demo\report\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:\apache-jmeter-3.3\demo" 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 style="${jmeter.home}/extras/jmeter-results-report-loadtest.xsl"> 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>
6. 運行jmx文件web
① 經過fiddler抓包,建立jmx文件腳本,並調試成功,能夠查看結果樹數據express
② 而後經過ant運行,查看結果 :cmd進入腳本目錄,並執行antapache
③ 執行結果顯示:BUILD SUCCESSFUL 證實執行成功,進入report文件夾,查看HTML報告顯示,以下:【報告的樣式,取決於\apache-jmeter-3.3\extras\jmeter-results-detail-report_21.xsl 模板】瀏覽器
PS:問題解決
問題1: 執行ant時報錯 「Error reading project file D:\apache-jmeter-3.3\demo\build.xml: 2 字節的 UTF-8序列的字節 2 無效。」
解決辦法:build.xml中<?xml version="1.0" encoding="UTF-8"?>,UTF-8修改成UTF8;
7. 集成Jenkins
***安裝Jenkins,控制檯模式進入到Jenkins.war包所在目錄,執行<java -jar Jenkins.war>命令,打開<http://10.10.31.6:8080/login>
【PS:Jenkins 經過命令行安裝完以後,會在<C:\Users\XXXX\.jenkins>用戶目錄下生成.jenkins文件夾,裏面包含配置文件等】
①第二次之後啓動Jenkins
jenkins.war 已放置在tomcat\webapps文件夾下,進入bin目錄,雙擊startup.bat【linux系統用startup.sh】
② 瀏覽器輸入:http://localhost:8080/jenkins 【默認端口號爲8080】,彈出配置頁面或登陸頁面,證實Jenkins啓動成功。
③ 建立一個項目。
⑤ 配置ant,增長build路徑
⑥ 點擊高級;Targets 輸入「run」;Build File 輸入「D:\apache-jmeter-3.3\demo\build.xml」【build.xml配置文件地址】,點擊保存。
⑦ Jenkins 配置性能測試報告模板
a, 下載插件Public HTML reports
系統管理 ---> 管理插件 ---> 可選插件,輸入 HTML Publisher 進行查詢 ---> 並點擊當即安裝 ---> 安裝完成
b, 配置報告
點擊已建立的工程 ---> 進入配置頁面 ---> 頁面最下方,點擊增長構建後操做步驟 ---> 點擊Public HTML reports ---> 保存
8. Jenkins 構建任務
已建立任務中,點擊當即構建
9. 查看構建結果,構建成功
10. 查看report,工程左側,點擊HTML Report 查看
11. 配置系統管理中郵件發送相關內容
① 安裝郵件插件 (Extended E-mail Notification) 搜索 Email Extension。
② 系統管理 ---> 系統設置 --->Extended E-mail Notification 進行郵件發送的配置
③ 系統管理 ---> 系統設置 --->郵件通知 配置【與②配置相似】
④ 須要注意項
⑤ 測試發送郵件配置是否成功,顯示「Email was successfully sent」,證實郵件發送配置成功
12. 設置job中,添加Email插件,給項目相關人員發送郵件通知
① 已建立任務 ---> 配置頁面 ---> 構建後操做添加<Editable Email Notification>
② Advanced Settings 設置郵件接受人以及接受郵件場景,經過<add triggers> 進行添加。
Always
Success
【PS:接受郵件地址之間用逗號分隔,可在郵箱地址前加「cc」,直接抄送發郵件】
【問題彙總】
問題1:BUILD FAILED Error reading project file D:\apache-jmeter-3.3\demo\build.xml: 2 字節的 UTF-8 序列的字節 2 無效。
解決:build.xml 編碼改成UTF8
問題2:BUILD FAILED D:\apache-jmeter-3.3\demo\build.xml:9: 在註釋中找到無效的 XML 字符 (Unicode: 0xd9eb)。
解決:刪除註釋
問題3:BUILD FAILED 「java.lang.UnsupportedClassVersionError: org/apache/jmeter/NewDriver : Unsupported major.minor version 52.0 」
D:\apache-jmeter-3.3\demo\build.xml:16: The following error occurred while executing this line:
D:\apache-jmeter-3.3\demo\build.xml:39: input file D:\apache-jmeter-3.3\demo\report\jtl\TestReport201806200210.jtl does not exist
解決:jdk版本與major.minor 版本對應 不一致形成的
major version : 52 對應的是jdk 1.8
配置Jenkins JAVA_HOME爲jdk 1.8 便可解決
系統管理 --> 系統設置 --> 全局屬性-Environment variables 配置鍵 爲 「JAVA_HOME」,值爲「C:\Program Files (x86)\Java\jdk1.8.0_144」 --> 保存後重啓Jenkins
附:其餘minor.major 版本的對應關係,以下
問題4:報告格式顯示異常
因爲Jenkins安全默認將如下功能關閉:
一、javascript
二、html上的內置插件
三、內置css或從其它站的css
四、從其它站的圖處
五、AJAX
解決:
臨時解決方案:
① 在Jenkins 系統管理 ---> 腳本命令行中 輸入 <System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")>
② 須要再次構建,查看新生成的report html,以前已生成的report仍然顯示異常【重啓Jenkins後須要從新執行此命令】
永久解決方案:
① 搜索安裝<startup-trigger-plugin>
和<Groovy>
插件;
插件管理---> 可選插件 搜索「tartup Trigger」、「Groovy
」並安裝;
Startup Trigger
:可實如今Jenkins
節點(master/slave)啓動時觸發構建;
Groovy plugin
:可實現直接執行Groovy
代碼。
② 配置方式以下:
- 新建一個job,該job專門用於Jenkins啓動時執行的配置命令;
- 在build trigger 模塊下,勾選 build when job nodes start;
- 在
Build
模塊下,Add build step
->Execute system Groovy script
,在Groovy Script
中輸入配置命令,System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
。
問題5:發送郵件配置完畢後,測試發送郵件時報錯「553」
解決:因爲認證錯誤,校驗下服務器地址、端口號、郵件名及密碼、系統管理員郵箱地址未設置【注意:必須設置"系統管理員郵件地址"】
問題6:發送郵件配置完畢後,測試發送郵件時報錯「25」
解決:郵件通知設置中,不要勾選<使用SSL協議>,點擊apply後,從新測試發送郵件,問題解決
問題7: 發送郵件配置完畢後,測試發送郵件時報錯「535」
解決:檢查郵箱地址及密碼是否正確,從新輸入郵件通知中郵箱密碼,問題獲得解決,提示「Email was successfully sent」