1. 程式人生 > >小白搭建自動化測試平臺

小白搭建自動化測試平臺

1.準備

系統:win7專業版/winsever2008

安裝包:

jdkjdk-8u91-windows-x64.exe(這裡jmeter3.2最低需要jdk8支援)

Jenkinsjenkins-2.60.3.zip

Antapache-ant-1.10.1.zip

Jmeterapache-jmeter-3.2這裡3.2版本對響應資料的相容性更好,中文亂碼的 情況更少)

程式設計工具:Notepad++(用於修改程式碼片段)

片段/外掛:build.xml程式碼片段、

測試模版:jmeter.results.shanhe.me.xsljmeter-results-detail-report_21.xsl

PS:以上檔案除build.xml檔案,其他安裝包等請自行下載,本文也會提供下載方法。

2.安裝jdk

安裝包可以到官網下載也可到第三方應用市場(或直接百度也可)下載安裝(此法版本可能不是最新,但比較穩定),後面使用的jmeter也需要jdk支援,但他會自動載入jdk,此處將jdk放在第一位置是為了後續如果有誤操作導致jdk故障,可參照此處重新安裝jdk修復。

2.1 安裝jdk

安裝JDK選擇安裝目錄,安裝過程中會出現兩次安裝提示。第一次是安裝jdk,第二次是安裝jre這裡建議使用預設路徑,會自動分開兩個資料夾。(不能強行安裝在java資料夾的根目錄下,jdkjre安裝在同一資料夾會出錯

)如下圖所示

1:安裝jdk隨意選擇目錄只需把預設安裝目錄\java之前的目錄修改即可

2:安裝jre→更改→\java之前目錄和安裝jdk目錄相同即可

注:若無安裝目錄要求,建議全預設設定。無需做任何修改,兩次均直接點下一步。

2.2 配置環境變數

安裝完JDK後配置環境變數計算機屬性也可使用快捷鍵win+break;筆記本的話可能需要Fn+win+break)→高階系統設定高階環境變數

系統變數新建JAVA_HOME變數。

變數值填寫jdk的安裝目錄(本人是E:\Java\jdk1.8.0)

系統變數尋找Path變數編輯

在變數值最後輸入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原來Path的變數值末尾有沒有;號,如果沒有,先輸入;號再輸入上面的程式碼)

系統變數新建CLASSPATH變數

變數值填寫.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點)系統變數配置完畢

2.3 檢查配置結果

檢驗是否配置成功:win+r執行cmd輸入javajava-versionjava-version之間有空格)。

如圖所示顯示版本資訊則說明jdkjre安裝配置成功。

3.部署jenkins

百度jenkins 下載”,跳轉到jenkins war包下載頁下載最新war包(此法用於簡易安裝,不會跟隨系統重啟,每次需執行java命令重新部署(原設定已儲存)),或到Jenkins官網下載穩定安裝包(windows installer安裝包,一直點選下一步,預設安裝即可,不在此贅述。此法用於穩定安裝,會跟隨系統重啟)。

3.1 安裝jenkins

jenkins.war所在目錄資料夾中shift+滑鼠右鍵->選擇“在此處開啟命令視窗”cmd執行:java -jar jenkins.war(注意空格)等提示安裝成功並執行後即可去瀏覽器位址列輸入:localhost:8080(預設埠8080

Ps:初學者在瀏覽器上操作前,一定先聯網(安裝外掛需要聯網)

Ps:這裡jenkins的安裝目錄需記住,後面部署自動生成測試報告要用到,此處jenkins為簡易安裝,預設安裝目錄為:C:\Users\Administrator\.jenkinsadministrator使用者需根據具體電腦設定進行相應修改,如有興趣也可嘗試jenkins自定義部署,不過配置除錯的成本比較大)。

另在此提供jenkins啟動和停止的命令供大家使用:net start jenkins(啟動jenkins)和net stop jenkins(結束執行)。

3.2 jenkins啟用

出現該頁面說明jenkins安裝部署成功,需要按照提示地址找到password粘到圖中輸入框驗證,通過後即可建立管理員(只有建好管理員以後才算解鎖成功,在這之前會提示安裝外掛,建議選擇推薦安裝,基礎外掛不用再費力去找了)建管理員時切記填寫郵箱(初學者建議使用外網郵箱,便於設定成功)

管理員建好以後就會來到jenkins web頁面,如下圖:

3.3 Jenkins外掛安裝

jenkins右側功能選單選擇系統配置,如圖:

jenkins管理頁面選擇管理外掛進到管理外掛頁面,選擇可選外掛(需聯網),如圖:

等外掛列表載入完後,在右上角的過濾欄輸入想要安裝的外掛,會檢索到對應的外掛,選擇直接安裝即可,建議在跳轉出來的頁面勾選“安裝完成後重啟jenkins”以使新裝的外掛生效。

此處需確定此處預設安裝已安裝如下三個外掛,如部署jenkins時選擇自定義,未安裝則按照上述步驟搜尋安裝這兩個外掛:

Ant Plugin用於支援ant功能接入

Email Extension Plugin用於郵件配置,傳送通知郵件

ps:還有一種方法是將所需外掛下載下來使用上傳功能上傳安裝,如下圖,對於某些伺服器不能聯網的,這種方法很奏效,但需要搞清楚各個外掛間的依賴關係(如果安裝順序錯誤會報錯,建議先找一臺可以連網的機器先安裝(會有備份的,路徑:“Jenkins安裝目錄\Jenkins\plugins”,將字尾.jpi改成.hpi即可上傳使用)),此處不贅述。

3.4 配置郵箱

此處傳送郵件通知利用jenkins系統傳送郵件功能(預設為系統email外掛功能,此處為了豐富email功能需利Email Extension Plugin)

系統管理員郵件地址是必輸的,否則會報錯。

系統郵箱設定如上圖,如郵箱沒用到ssl協議請勿勾選“使用SSL協議”,設定完成後記得勾選測試,檢查郵箱設定是否成功。

ps:中文版設定時有中文和英文兩個版式,經測,僅填寫英文或中文的即可,建議填寫英文的(反正中英文是一一對應的,順便熟悉英文版本),如果是區域網郵箱可參照下圖:

4.配置Ant

百度ant下載,跳轉到ant下載頁面獲取最新安裝包。參照java環境變數設定,但僅配置兩處系統變數即可:

1. ANT_HOMEant安裝路徑,即ant解壓以後放至的路徑(建議放在jmeter_home\extras\下,因為需要將ant-jmeter-1.1.1.jar放在apache-ant-1.10.1\lib下)。

2. Path:在系統變數中的Path裡新增“%ANT_HOME%\bin;

ps:修改ant環境變數後一定記得重啟電腦以使配置生效。

5.安裝jmeter

5.1 下載

百度jmeter下載前往apache官網下載apache-jmeter-3.2.zip

5.2 安裝

解壓apache-jmeter-3.2.zip放至“C:\Program Files (x86)\”(穩定版jenkins預設安裝目錄)

5.3 Jmeter測試報告輸出欄位配置

jmeter安裝目錄\apache-jmeter-3.2\bin”下找到jmeter.properties檔案使用記事本notepad++UE等開發工具修改以下引數:

此處原為csv”,現改為“xml”。

此處重點關注去掉註釋部分欄位,也可修改其他資訊輸出(部分標true資訊雖然註釋了,但實際還會輸出出來,只是在Property Displayjmeter工作臺新增“非測試元件-Property Display”)中不會顯示),最後一定要將修改處註釋去掉,否則不會生效,修改完儲存即可(謹慎起見,建議將jmeter安裝包和修改後的程式都備份一份)。

ps:此處僅修改涉及到報告生成的部分,其他系統執行配置保持預設即可,有興趣的可以百度搜索修改之,但切忌做好下載包備份以防止修改錯誤導致jmeter生成報告功能不可用或異常。

5.4 測試報告優化

1. jmeter-results-detail-report_21.xsl

notepad++開啟“安裝目錄\apache-jmeter-3.2\extras”下jmeter-results-detail-report_21.xsl測試報告模版獲取彙總報告模版:

測試報告左上角展示資訊優化:

修改第31showData值為y,其他title可根據具體專案名稱修改,時間因獲取的資料是動態的,此處時間戳未找到合適的獲取方法,不建議修改。

測試報告版式優化(解決獲取到的響應資料太長不折行問題)

55行後新增兩行:

word-wrap:break-word;//文字行打斷;

max-width:700px;//最大寬度為700px

並將white-space: nowrap;(空格處不允許折行)

改為white-space: normal;(正常格式)。

Url連結優化(滿足報告快速切換的需求)

將原148行兩處連結換為詳細測試報告url地址和備份url地址,以便於在測試報告頁面可快速檢視詳細報告和歷史報告(url可在生成詳細報告和備份後獲取)

2. jmeter.results.shanhe.me.xsl

百度jmeter.results.shanhe獲取測試報告模版jmeter.results.shanhe.me.xsl

折行優化:

由於請求和響應資訊預設是不折行的,當資料長度過長時,會嚴重影響閱讀,故而在此對模版中表格資料進行折行優化。

在模版程式碼開篇處第29行,參照jmeter-results-detail-report_21.xsl折行優化方法修改,具體寬度可根據實際情況修改,我的修改為了950px

Sampler欄位優化:

使用notepad++開啟jmeter.results.shanhe.me.xsl,根據需要修改需要展示的欄位。

此處我刪除了兩處countthread_countssample_count兩個欄位並將response coderesponse message合為response code/msg一個,效果如下:

Assertion(斷言資訊)、request(請求資訊)和response(響應資訊)不在此處作修改。

兩個模版優化後放至jmeter安裝目錄\apache-jmeter-3.2\extras”下備用。

ps:此處會因為5.3測試報告輸出欄位配置失誤導致個別欄位顯示不出來(我在實現的時候url老出不來),如出現此類情況請先將所有測試資料初始化(原有的jtl檔案、html檔案,對應在workspace/projectnamejobs/projectname/htmlreports兩處都需要將結果檔案清空,否則執行出來的結果會影響到新檔案的生成,會讓我們誤以為配置修改不成功,我在配置的過程中遇到這個大坑,給大家踩平了,當然也希望大家利用這篇文件可以一次性配置成功)。

6.Jenkins自動化例項

6.1 建立自由風格專案

6.2 設定構建保留時限

6.3 設定觸發條件

我設定的是工作日(週一到週五)每天8點以後隨機觸發,如設定專案構建完成後執行自動化測試,請忽略此處設定。

日程表規則:

這裡共5位引數,分別是minutes0-59)、hour0-23)、month1-12)、week1-7),*表示不限制,五位數字設定時中間一定加空格間隔開,否則無法識別。

第一個是代表分鐘 H 表示隨機
第二個是代表小時 9-15/4表示9點到下午三點期間的每隔4個小時
第三個是代表天 * 任意一天
第四個是代表月份 1-11 表示111月份
第五個是代表星期 1-5 表示工作日

沒有用到 H 隨機的話,不要加括號
H(9-18) 表示9點到18點 中隨機的一個點

e.g.

* * * * * 表示任何一個時間段,同一個時間都可能會觸發執行。不建議使用
H/30 * * * * 表示每天每隔 30分鐘構建一次
H 4-19/3 * * * 表示,一天的凌晨點到下午7點,每隔3個小時構建一次
* * 3-5 * * 表示,每個月的3號,4號,5號 都會被構建,具體時間未知
* * * * 1-5 表示,工作日時會構建,具體時間未知
H/30 8-19/3 1-28 1-11 1-5 表示 在1月到11月中的1-28號,每個工作日,早晨的8點到下午7點每隔3.5個小時會觸發構建

6.4 編寫ant執行指令碼

百度搜索jenkins+ant+jmeter”,在部落格中獲取到build.xml原始碼,可參照部落格中的說明和實際情況進行優化,最終達到的效果需可以使用瀏覽器開啟build.xml檔案並能檢視對應原始碼資訊,在此貼上原始碼檔案。

build.xml檔案編寫完放在“安裝目錄/Jenkins/workspace/projectname”下

ps:這裡的build.xml檔案都是執行命令,按照如下順序依次執行:

1. 定義一個專案,執行在工作空間,設定編碼格式為GBK

2. 建立一個時間戳並設定時間格式,備用;

3. 設定jmeter執行目錄jmeter.home

4. 設定報告生成目錄及報告名稱;

5. 呼叫xalan*.jarserializer*.jar兩個jar包中的org.programmerplanet.ant.taskdefs.jmeter.JMeterTask

6. 宣告jmeter執行指令碼所在目錄並設定報告生成格式為xml

7. 呼叫測試報告模版從jtl檔案中匯入資料到測試模版中去,生成測試報告;

8. 測試報告生成並備份,備份過程中需呼叫第二步生成的時間戳;

刪除工作空間中的jtl檔案(如不刪除,歷次測試結果會寫到同一檔案中去,最終影響到detail報告資料)。

6.5 呼叫ant

因我在build.xml中設定ant預設執行命令為run,且將build.xml檔案放至安裝目錄\Jenkins\workspace\projectname下,故此處targets填寫run

6.6 構建後操作

6.5.1 釋出html報告

Result:釋出html檔案所在路徑

Report.html:預設釋出report.html(如果build.xml檔案中生成的是index.html,則此處就得填index.html

6.5.2 傳送通知郵件

選擇HTMLtext/html),配置郵件模版

附上郵件模版程式碼:

配置收件人清單,收件人之間用英文逗號,”隔開。

ps:如果此處傳送的郵件有中文亂碼,還記得系統配置時的郵箱配置嗎?字符集改成GBK試試(預設為UTF-8)。