什么是 API 測試?
API 測試其實是一種用程序或工具來發送數據,同時驗收系統的返回值的方法。這種測試更偏向于業務實現邏輯。常見的網絡協議有 TCP、Http、webservice、socket 等,http和 webservice 都是基于 TCP/IP 協議的應用層協議,webservice 是基于 http 的 soap 協議傳輸數據。
常用的接口測試工具有:
1、Apache JMeter:是一款基于JAVA的開源測試工具,主要應用于WEB應用程序的負載測試,同時也支持單元測試和接口測試;
2、Postman:是一款功能強大的網頁測試工具,支持WEB API和HTTP請求,能夠發送任何類型的HTTP請求(GET、HEAD、POST、PUT等)。Postwomen與其近似的一款免費開源、輕量級測試工具;
3、SoapUI,是一款用于SOAP和REST的開源API測試自動化框架,可以集成到Eclipse等開發工具中,支持用戶二次開發;
4、Robot Framework,是一款基于Python3的開源自動化測試框架,具有良好的可擴展性,支持關鍵字驅動,運行用戶二次開發。
基于這些接口測試工具,測試人員可以根據自身業務需要開發適合自己的接口自動化測試工具。有了接口自動化測試工具,我們就可以開展自動化測試工作。
如何進行Jmeter接口測試?
環境準備
1.安裝JDK(自行安裝)
2.安裝Jmeter
(1)Jmeter下載地址并解壓(本位使用5.1.1版本~)
https://archive.apache.org/dist/jmeter/binaries/
(2)打開Jmeter
進入Jmeter解壓文件的bin目錄下,雙擊jmeter.bat文件,即可打開Jmeter
知識點-Jmeter取樣器
在正式開始使用Jmeter前,先了解"Json Extractor"的概念。
Json取樣器:使用Jsonpath語法,一般用于從響應結果數據里面獲取動態變量值
Jsonpath基礎語法說明
項目背景
使用Jmeter進行接口測試過程中如何獲取動態變量值?這就需要使用到【Jemter取樣器】
本文使用全國天氣查詢接口作為實踐接口,根據接口查詢廈門當日的天氣情況,并提取響應結果(response)內的指定數據:
·日期date_y
·天氣weather
接口分析
聚合數據網站(https://www.juhe.cn/docs/api/id/73),提供免費的【全國天氣查詢接口】,需要的朋友可以去注冊并申請該接口,可以獲得對應的key值(如下圖),就可以使用該接口。
接口說明
實例腳本
·添加線程組:在testplan(測試計劃)上右鍵--add-threads(users)--thread group
·添加http請求:
1.用戶發起接口請求
2.在線程組thread group上右鍵--add--sample--http request
·添加json取樣器:
1.用戶獲取響應數據
2.在http請求上右鍵Add--post processors--json extractor
·添加調試工具:
1.用于獲取變量
2.在http請求上右鍵Add-post processors--debug postprocessor
·添加監聽器:
1.用于查看自動化結果日志(測試報告)
2.在線程組thread group上右鍵Add--listener--view result tree
·點擊
按鈕,執行腳本。
腳本一:http請求
腳本二:Jmeter取樣器(2個取樣器)
執行結果
腳本內添加調試工具debug pathprocessor后,在測試報告里面會有單獨的日志文件如下圖:
四、結語
隨著自動化測試成為測試工程師必備技能之一。擁有了該項技能在面對功能、模塊日趨復雜和迭代頻繁的軟件開發項目時,測試人員可以從容不迫的解決和應對這些問題。
結合我在項目中的實踐分享了接口自動化測試過程中的幾點感悟,希望對想要邁入和初步邁入的自動化測試領域的同志們有所幫助。






