1. 程式人生 > >Jmeter+Ant+Jenkins介面自動化測試框架搭建for Windows

Jmeter+Ant+Jenkins介面自動化測試框架搭建for Windows

前言

軟體開發的V模型大家都不陌生,其中測試階段分為單元測試→功能測試→系統測試→驗收測試。其中單元測試一般由開發同學們自己完成,大部分測試具體實施(這裡不包括用例設計)是從單體功能測試開始著手的。

如果測試一個功能,發現主流程無法走下去,也就是介面不通,這時再打回去開發手裡繼續改,改了之後再來,一來一回甚至多個來回比較浪費時間,本著提高測試效率,促進開發和測試的關係(哈哈,邪惡),那麼就引入了一個叫介面測試的神器↓↓↓

從理解上來說,介面測試主要分為兩類:程式碼層介面測試和Web HTTP介面測試。程式碼層介面測試更接近單元測試,而web介面主要分為兩類:瀏覽器和伺服器之間的介面、外部介面(第三方提供的介面),我們接觸的最多的是瀏覽器和伺服器之間的介面

,接著向下看:

介面測試的工具想必大家並不陌生,我接觸過的手工介面工具有:restclient、postman、fiddler。自動化測試多是用到 Jmeter(開源)、soupUI(開源&商業版)

 

正文

Jmeter可以做介面測試,也能做壓力測試,而且是開源軟體;Ant是基於Java的構建工具,可以跨平臺,Jenkins是持續整合工具。將這三者結合起來可以搭建一套Web HTTP介面測試的持續構建環境,實現介面自動化測試,pc系統是Windows。

1、安裝jmeter

1.1 下載安裝包(過程略過,自己找安裝包)

解壓後放在D:\Program Files (x86)\apache-jmeter-2.12。

注意:如果是最新版apache-jmeter-3.3,後面ant run時可能會不成功,我是先下載的3.3,後面執行ant run時報錯,再推倒重來的

1.2 配置環境變數

JMETER_HOME 為 D:\Program Files (x86)\apache-jmeter-2.12;

CLASSPATH為 %JMETER_HOME%\lib;

PATH為 %JMETER_HOME%\bin;

1.3 安裝驗證

在命令視窗中輸入jmeter -v回車,能出現jmeter版本則說明配置成功,可以直接在命令視窗輸入jmeter回車後啟動jmeter

 

1.4 在jmeter上除錯通一個介面(如要測試多個介面,可以參照jmeter用法繼續新增)

配置如圖http資訊頭管理器

 

配置如圖http請求

點選啟動按鈕後點擊“察看結果樹”,綠色圖示代表請求-響應成功,紅色代表失敗,還要繼續檢查資料引數是否正確,這裡略過。

 

2、安裝JDK

2.1 下載安裝包,我下載的是最新版jdk 1.8.0_152,官網下載地址是http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.2 配置環境變數

JAVA_HOME 為 C:\Program Files (x86)\Java\jdk1.8.0_152 (注意:java我是預設裝的C盤)

CLASSPATH為 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

PATH為 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

2.3 安裝驗證

在命令視窗中輸入java -version 回車,能出現java版本則說明配置成功

 

3、安裝ANT

3.1 安裝包下載

下載地址 http://ant.apache.org/bindownload.cgi,下載後解壓到指定位置即可,我是放在D:\Program Files (x86)\apache-ant-1.9.0,與jmeter放在同一位置

注意:下載最新版也可能導致後面ant run不成功,我之前是下載的apache-ant-1.10.1,遇到問題之後降版本,成功!

3.2 配置環境變數

ANT_HOME 為 D:\Program Files (x86)\apache-ant-1.9.0

CLASSPATH為 %ANT_HOME%\lib;

PATH為 %ANT_HOME%\bin;

3.3 安裝驗證

驗證安裝結果,命令列輸入ant -v,出現版本資訊則安裝成功

 

4、Ant配置Jmeter:就是用ant構建命令來調動執行jmeter介面測試,並生成測試報告

4.1 配置庫檔案

將jmeter extras目錄下的ant-jmeter-1.1.1.jar檔案拷貝到ant安裝目錄下的lib資料夾中

 

4.2 配置ant的編譯檔案 build.xml

新建的txt檔案,並將此檔案改名為build.xml,將如下文字敲進在文件裡,或者在網上找現成的再修改

注意:jmeter的extras檔案下也有個build.xml文件,不要用這個文件來改,是兩回事,我之前就是在這裡走了彎路。。。。這裡的build文件是自己新建。。新建。。新建。。

 

如下按實際情況修改build.xml檔案

4.3 配置jmeter.properties文件

找到jmeter.properties文件,在jmeter/bin目錄下,開啟該文件並編輯,修改jmeter報告輸出格式為xml:改jmeter.save.saveservice.output_format=csv 為jmeter.save.saveservice.output_format=xml,並去掉前面的註釋符號#

4.4 驗證配置,執行構建測試

將之前jmeter的指令碼儲存, 並將build.xml配置檔案放在與測試指令碼相同的目錄下

4.5 執行測試

在build.xml所在目錄開啟命令視窗(滑鼠在空白處按下shift鍵後在右鍵),或者命令列cd到build.xml檔案所在目錄,輸入ant run回車,執行測試

 

看到build successful 則說明構建測試成功,離成功越來越近啦啦啦

4.6 檢視測試結果報告

在報告輸出存放路徑下檢視是否有jtl和html結果報告,存放路徑在build文件中也有

 

 

開啟html文件,測試結果展現了執行的用例名稱、成功率、用例執行時間等結果引數

 

這樣的結果是不是不太直觀,因為用jmeter自帶的測試報告得到的測試報告資訊並不是很全,下面講一下怎麼優化測試報告(網上找的方法,親身實踐是可行的)

4.7、 優化測試報告

①下載優化模板 jmeter-results-shanhe-me.xsl,拷貝到jmeter的extras目錄中

D:\Program Files (x86)\apache-jmeter-2.12\extras

②設定測試輸出報告要輸出的內容:同樣在jmeter.properties中,設定需要輸出的內容為true,並去掉前面的註釋符號#,這裡全部設定成true→儲存

jmeter.save.saveservice.data_type=true

jmeter.save.saveservice.label=true

jmeter.save.saveservice.response_code=true

# response_data is not currently supported for CSV output

jmeter.save.saveservice.response_data=true

# Save ResponseData for failed samples

jmeter.save.saveservice.response_data.on_error=false

jmeter.save.saveservice.response_message=true

jmeter.save.saveservice.successful=true

jmeter.save.saveservice.thread_name=true

jmeter.save.saveservice.time=true

jmeter.save.saveservice.subresults=true

jmeter.save.saveservice.assertions=true

jmeter.save.saveservice.latency=true

jmeter.save.saveservice.connect_time=true

jmeter.save.saveservice.samplerData=true

jmeter.save.saveservice.responseHeaders=true

jmeter.save.saveservice.requestHeaders=true

jmeter.save.saveservice.encoding=true

jmeter.save.saveservice.bytes=true

jmeter.save.saveservice.url=true

jmeter.save.saveservice.filename=true

jmeter.save.saveservice.hostname=true

jmeter.save.saveservice.thread_counts=true

jmeter.save.saveservice.sample_count=true

jmeter.save.saveservice.idle_time=true

 

③設定build檔案的報告模板為優化後的模板jmeter-results-shanhe-me.xsl

 

④再次用ant構建測試,檢視優化後的測試報告

5、配置Jenkins,構建持續化整合

5.1 安裝Jenkins:

①前提條件:已經成功安裝了JDK,因為jenkins是一款基於Java的持續整合工具。

②準備工具:下載安裝包,https://jenkins.io/index.html,下載jenkins的war包。

5.2 配置環境變數

JENKINS_HOME 為 D:\Program Files (x86)\jenkins

5.3 啟動jenkins

在jenkins.war包放置目錄下,shift+右鍵開啟cmd,輸入命令: java -jar jenkins.war ,就可以啟動jenkins了。再在瀏覽器中輸入:http://127.0.0.1:8080/,開啟jenkins,配置使用者名稱、密碼及外掛,這裡需要配置invoke ant外掛、HTML測試報告展示的外掛

5.4、新建並配置一個JOB

設定專案名稱:

配置構建:

配置構建:invoke ant

配置build檔案路徑:

 

配置測試報告外掛,用於開啟測試結果報告

 

基本配置完成

5.5、JOB主頁,點選立即構建,執行測試

 

繼續構建基本完成,開啟測試報告存放路徑會看到新生成的報告文件。

至此,over!

後記:還可以配置郵件外掛來發送測試報告(還在研究中),設定構建時間來定時自動執行測試,後面再發文。

想深入學習的同學,可以來加軟體測試群:747981058

群裡面有相關的資料可供學習~