前言
軟體開發的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
群裡面有相關的資料可供學習~