什么是 API 測試?
API 測試其實(shí)是一種用程序或工具來發(fā)送數(shù)據(jù),同時驗(yàn)收系統(tǒng)的返回值的方法。這種測試更偏向于業(yè)務(wù)實(shí)現(xiàn)邏輯。常見的網(wǎng)絡(luò)協(xié)議有 TCP、Http、webservice、socket 等,http和 webservice 都是基于 TCP/IP 協(xié)議的應(yīng)用層協(xié)議,webservice 是基于 http 的 soap 協(xié)議傳輸數(shù)據(jù)。

常用的接口測試工具有:
1、Apache JMeter:是一款基于JAVA的開源測試工具,主要應(yīng)用于WEB應(yīng)用程序的負(fù)載測試,同時也支持單元測試和接口測試;
2、Postman:是一款功能強(qiáng)大的網(wǎng)頁測試工具,支持WEB API和HTTP請求,能夠發(fā)送任何類型的HTTP請求(GET、HEAD、POST、PUT等)。Postwomen與其近似的一款免費(fèi)開源、輕量級測試工具;
3、SoapUI,是一款用于SOAP和REST的開源API測試自動化框架,可以集成到Eclipse等開發(fā)工具中,支持用戶二次開發(fā);
4、Robot Framework,是一款基于Python3的開源自動化測試框架,具有良好的可擴(kuò)展性,支持關(guān)鍵字驅(qū)動,運(yùn)行用戶二次開發(fā)。
基于這些接口測試工具,測試人員可以根據(jù)自身業(yè)務(wù)需要開發(fā)適合自己的接口自動化測試工具。有了接口自動化測試工具,我們就可以開展自動化測試工作。
如何進(jìn)行Jmeter接口測試?
環(huán)境準(zhǔn)備
1.安裝JDK(自行安裝)
2.安裝Jmeter
(1)Jmeter下載地址并解壓(本位使用5.1.1版本~)
https://archive.apache.org/dist/jmeter/binaries/
(2)打開Jmeter
進(jìn)入Jmeter解壓文件的bin目錄下,雙擊jmeter.bat文件,即可打開Jmeter

知識點(diǎn)-Jmeter取樣器
在正式開始使用Jmeter前,先了解"Json Extractor"的概念。
Json取樣器:使用Jsonpath語法,一般用于從響應(yīng)結(jié)果數(shù)據(jù)里面獲取動態(tài)變量值
Jsonpath基礎(chǔ)語法說明

項(xiàng)目背景
使用Jmeter進(jìn)行接口測試過程中如何獲取動態(tài)變量值?這就需要使用到【Jemter取樣器】
本文使用全國天氣查詢接口作為實(shí)踐接口,根據(jù)接口查詢廈門當(dāng)日的天氣情況,并提取響應(yīng)結(jié)果(response)內(nèi)的指定數(shù)據(jù):
·日期date_y
·天氣weather
接口分析
聚合數(shù)據(jù)網(wǎng)站(https://www.juhe.cn/docs/api/id/73),提供免費(fèi)的【全國天氣查詢接口】,需要的朋友可以去注冊并申請?jiān)摻涌冢梢垣@得對應(yīng)的key值(如下圖),就可以使用該接口。

接口說明

實(shí)例腳本
·添加線程組:在testplan(測試計(jì)劃)上右鍵--add-threads(users)--thread group
·添加http請求:
1.用戶發(fā)起接口請求
2.在線程組thread group上右鍵--add--sample--http request
·添加json取樣器:
1.用戶獲取響應(yīng)數(shù)據(jù)
2.在http請求上右鍵Add--post processors--json extractor
·添加調(diào)試工具:
1.用于獲取變量
2.在http請求上右鍵Add-post processors--debug postprocessor
·添加監(jiān)聽器:
1.用于查看自動化結(jié)果日志(測試報(bào)告)
2.在線程組thread group上右鍵Add--listener--view result tree
·點(diǎn)擊

按鈕,執(zhí)行腳本。
腳本一:http請求

腳本二:Jmeter取樣器(2個取樣器)

執(zhí)行結(jié)果

腳本內(nèi)添加調(diào)試工具debug pathprocessor后,在測試報(bào)告里面會有單獨(dú)的日志文件如下圖:

四、結(jié)語
隨著自動化測試成為測試工程師必備技能之一。擁有了該項(xiàng)技能在面對功能、模塊日趨復(fù)雜和迭代頻繁的軟件開發(fā)項(xiàng)目時,測試人員可以從容不迫的解決和應(yīng)對這些問題。
結(jié)合我在項(xiàng)目中的實(shí)踐分享了接口自動化測試過程中的幾點(diǎn)感悟,希望對想要邁入和初步邁入的自動化測試領(lǐng)域的同志們有所幫助。