- 為什么要做自動化測試
- 什么項目適合做自動化測試
- 選擇UI自動化還是接口自動化
- 接口自動化工具對比
- Jmeter+Ant+jekins框架搭建
一、為什么要做自動化測試?
假設半月迭代一次,每次迭代需要5輪測試,人工回歸一次需要5個小時,最終確定一年下來,自動化為你省去600個小時,也就是75個工作日,同時也省去了測試舊功能要吐的煩惱以及人疲憊下產生的錯誤。
有點:提高效率、質量
自動化測試:人為驅動的測試行為轉化為機器執行過程(在手工基礎上)
二、什么項目適合做自動化測試?
1.什么項目適合?
需求穩定,不會頻繁變更(項目穩定)
研發和測試周期長,需要頻繁執行回歸測試
需要在多種平台上重復運行相同測試的場景(兼容性測試)
某些測試項目通過手工測試無法實現,或手工成本太高
被測軟件的開發較為規范,能夠保證系統的可測試性
2.什么階段編寫自動化腳本?
項目穩定后,編寫自動化用例更得心應手,原因:
項目基本沒有bug,方便寫斷言(斷言類似於手工測試里的預期結果)
手工測試時用例已編寫完成,自動化測試腳本完全可以根據手工測試去實現
3.什么階段進行自動化測試?
項目測試流程:冒煙測試-新需求測試-兼容性測試-回歸測試
冒煙測試:測試流程的重要起點
新需求測試:測試過程中學習、探索最集中的測試
兼容性測試
回歸測試:穩定功能是否收到新功能影響的測試
回歸測試和兼容性測試適合進行自動化測試,前者需要執行大量回歸測試用例,后者需要重復執行
三、選擇什么類型的自動化測試
自動化測試分類:
UI自動化(效率低、成本高、用戶操作真實性強)
接口自動化(用戶操作真實性不強)
單元測試
性能測試
UI自動化和接口自動化可以產生互補測試(采用方法)
四、接口工具對比
接口工具應滿足的需求:
接口編寫方便
方便調試接口
支持數據初始化
生成測試報告
支持參數化
接口測試工具對比:
Fiddler:抓包神器,http協議調試代理工具,能夠記錄互聯網之間的http協議通信,可以設置斷點,查看所有“進出”Fiddler的數據(如cookie,html,js,css等文件)
可以進行接口測試,不能斷言
Postman:
能夠發送任何類型的HTTP請求 (GET, HEAD, POST, PUT..),可以進行文件上傳、響應驗證、變量管理、環境參數管理,還可以批量管理和運行用例,並支持用例導出、導入,可以進行接口的自動化測試
缺點是自動化斷言不夠強大,不能和jenkins、代碼管理庫進行持續集成測試
soapUi:
開源測試工具,通過soap/http來檢查、調用,實現Web Service的接口和性能測試。該工具既可作為一個單獨的測試軟件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
Jmeter:
是一款100%純Java編寫的免費開源工具,主要用來做性能測試,但也可以做接口測試,配合后置處理器與斷言,可以滿足大部分的接口測試場景,JMeter提供了BeanShell編程能力,可以寫出比較靈活的測試腳本,通過jmeter+ant+jenkins可以實現接口和性能自動化測試。
代碼實現
java代碼實現接口測試:java可以通過httpclient.jar包,利用JUnit或者TestNG這樣的單元測試工具進行用例編寫,結合jenkins實現接口持續集成測試。
python代碼實現接口測試:python可以利用強大的第三方庫Requests實現接口用例編寫,結合unittest單元測試框架,生成測試報告,也可以和jenkins做持續集成測試。
為什么要代碼實現接口測試?
工具有限制,很多測試場景工具很難模擬,場景和數據構造復雜,代碼可以實現接口,統計結果展示靈活。自己寫測試框架與代碼。
中小型項目推薦使用postman和jmeter,對於大型項目還是利用代碼實現。
五、jmeter+Ant+Jenkins框架搭建
大致思路:Jmeter可以做接口測試,也能做壓力測試,而且是開源軟件;Ant是基於Java的構建工具,完成腳本執行並手機結果生成報告,可以跨平台;Jekins是持續集成工具。將這三者結合起來可以搭建一套WebHTTP接口測試的持續構建環境,實現接口自動化測試,基於win
- 安裝jmeter
1.1下載安裝包
Jmeter依賴java運行環境,需提前下載jdk並配置環境變量
官網下載:http://jmeter.apache.org/download_jmeter.cgi
下載完后直接解壓
1.2配置環境變量
JMETER_HOME為jmeter安裝路徑
CLASSPATH為%JMETER_HOME%\lib;
PATH為%JMETER_HOME%\bin;
1.3安裝驗證
命令窗口輸入jmeter –v回車,能出現jmeter版本則說明成功
可以直接在命令窗口輸入jmeter回車后啟動jmeter;也可以在點擊jmeter.bat文件啟動jmeter
1.4在jmeter上調試通一個接口(如果是多個接口,按照jmeter方法添加即可)
- 安裝Ant
2.1安裝包下載
官網下載(http://ant.apache.org/bindownload.cgi),我用的1.10.1版本,下載完直接解壓
2.2配置環境變量
ANT_HOME為ant解壓位置
CLASSPATH為%ANT_HOME%\lib;
PATH為%ANT_HOME%\bin;
2.3安裝驗證
驗證安裝結果,命令行輸入ant –v,出現版本信息則安裝成功
- Ant配置Jmeter:用ant構建命令來調動執行jmeter接口測試,並生成測試報告
3.1配置庫文件
將jmeter extras目錄下的ant-jmeter-1.1.1.jar文件拷貝到ant安裝目錄下的lib文件夾中, 這樣ant運行時才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"這個類,從而成功觸發JMeter腳本
3.2配置ant的編譯文件build.xml
在jmeter根目錄下創建一個存放腳本和報告的文件夾testcases
在testcases文件夾下新建build.xml文件,修改文檔里的內容
注意:jmeter的extras文件下也有個build.xml文檔,不要用這個文檔來改,是兩回事,這里的build文檔是自己新建
代碼中不能存在tab鍵否則會編譯失敗,要執行的腳本也要指定好,否則也會有問題
按實際情況修改如下文檔:
https://www.cnblogs.com/autobyme/p/8387407.html---該博客里面可以復制build.xml里的配置
3.3配置jmeter.propertise文檔
在jmeter/bin目錄下找到jmeter.properties文檔,打開該文檔編輯,修改jmeter報告輸出格式為xml
改jmeter.save.saveservice.output_format=csv為jmeter.save.saveservice.output_format=xml,並去掉前面注釋符號#
3.4驗證配置,執行構建測試
將之前jmeter腳本保存,並將build.xml配置文件放在與測試腳本相同目錄下,目錄如下:
3.5執行測試
在build.xml所在目錄打開命令窗口,輸入ant run,執行測試
3.6查看測試報告
在報告輸出存放路徑下查看是否有jtl和html結果報告,存放路徑在build文檔中也有
打開html文檔,測試結果展現執行的用例名稱、成功率、用例執行時間等結果參數
這樣的結果不太直觀
3.7優化測試報告
(1)下載優化模板jmeter-results-shanhe-me.xsl,拷貝到jmeter的extras目錄中
(2)設置測試輸出報告要輸出的內容:同樣在jmeter.properties中,設置需要輸出的內容為true,並去掉前面的注釋符號#,這里全部設置成true—保存
(3)設置build文件的報告模板為優化后的模板jmeter-results-shanhe-me.xsl
(4)再次用ant構建測試,查看優化后的測試報告
- 安裝jenkins(兩種方式)
4.1下載安裝包解壓
1.下載msi文件(雙擊安裝)
2.用servlet容器來部署jekins,使用的是tomcat
https://www.cnblogs.com/dreamyu/p/6480980.html
4.2啟動jenkins
安裝好之后,瀏覽器輸入http:localhost:8080
從安裝目錄jenkins\sercrets找到initalAdminPassword文件,填寫密碼
選擇插件的安裝方式,選擇按推薦方式安裝
創建第一個管理員賬戶
或者直接跳過該步驟,使用默認的admin和administrator登錄
4.3配置jenkins
1.這里需要配置invoke ant插件、HTML測試報告真實的插件
(1)在jenkins創建管理中安裝HTML Publisher Plugin 和Ant in Workspace(如果在剛開始默認推薦安裝插件里安裝了ant,這里就不用下載ant插件)
(2)在jenkins中系統管理-系統設置中,配置jdk和Ant
2.新建並配置一個項目
注意:ant構建項目,默認執行的是Jenkins中workspace下的腳本,如果workspace下沒有腳本則構建會報錯,將腳本和build.xml文件都放置workspace目錄下(我放在jmeter下)
注意:Index page[s]:的值(TestReport.html)是與build.xml中設置的測試報告名稱一致,否則在Jenkins中查看不了測試報告
腳本配置完成
4.5項目主頁,點擊立即構建,執行測試
參考資料:
https://www.cnblogs.com/autobyme/p/8387407.html
https://www.cnblogs.com/wulixia/p/11011793.html
https://blog.csdn.net/XingLongSKY/article/details/91536924