一、開發(fā)接口測試案例的整體方案:
第一步:我們要分析出測試需求,并拿到開發(fā)提供的接口說明文檔;
第二步:從接口說明文檔中整理出接口測試案例,里面要包括詳細(xì)的入?yún)⒑统鰠?shù)據(jù)以及明確的格式和檢查點(diǎn)。
第三步:和開發(fā)一起對接口測試案例進(jìn)行評審。
第四步:結(jié)合開發(fā)庫,準(zhǔn)備接口測試案例中的入?yún)?shù)據(jù)和出參數(shù)據(jù),并整理成csv格式的文件。
第五步:結(jié)合接口測試案例文檔和csv格式的數(shù)據(jù)文檔,做接口測試案例的自動化案例開發(fā)。
二、接口自動化適用場景:
目前設(shè)計的自動化接口測試案例有兩個運(yùn)行場景:
1. 測試前置、開發(fā)自測:一個新的自動化接口測試案例開發(fā)完成后,直接發(fā)給接口對應(yīng)的開發(fā),安排在開發(fā)本地環(huán)境執(zhí)行,一旦開發(fā)確認(rèn)完成接口開發(fā),就開始執(zhí)行接口測試案例,基本上可以實時拿到測試結(jié)果,方便開發(fā)快速做出判斷。【開發(fā)本地運(yùn)行的方式就是打開JMeter工具,導(dǎo)入JMX文件,開始執(zhí)行可?!?/p>
2. 回歸測試:開發(fā)本地測試通過后,或整個需求手工測試通過后,把自動化的接口測試案例做分類整理,挑選出需要納入到回歸測試中的案例,在持續(xù)集成環(huán)境重新準(zhǔn)備測試數(shù)據(jù),并把案例納入到持續(xù)集成的job中來,這些用于回歸的接口測試案例需要配置到持續(xù)集成平臺自動運(yùn)行。
三、接口測試環(huán)境準(zhǔn)備
Jdk1.6或以上:
Jmeter,下載址址:
插件的下載安裝地址:
四、創(chuàng)建工程:
1、打開Jmeter:下載好Jmeter后,雙擊bin目錄下的jmeter.bat文件:
2、添加線程組:在“測試計劃”上點(diǎn)擊鼠標(biāo)右鍵-->添加-->threads(Users)-->線程組,添加測試場景設(shè)置組件,接口測試中一般設(shè)置為1個“線程數(shù)”,根據(jù)測試數(shù)據(jù)的個數(shù)設(shè)定“循環(huán)次數(shù)”。
3、添加“HTTP Cookie管理器”:
4、添加“Http請求默認(rèn)值”組件,當(dāng)被測系統(tǒng)有唯一的訪問域名和端口時,這個組件很好用:
5、在“HTTP 請求默認(rèn)值”組件配置頁面,填寫被測系統(tǒng)的域名和端口,http請求的實現(xiàn)包版本以及具體協(xié)議類型,線程組里的所有“HTTP Sampler”可默認(rèn)使用此設(shè)置。
6、在“線程組”里添加“HTTP 請求”的Sampler
7、在HTTP請求設(shè)置頁面,錄入被測接口的詳細(xì)信息,包括請求路徑,對應(yīng)的請求方法,以及隨請求一起發(fā)送的參數(shù)列表:
8、設(shè)置檢查點(diǎn):在被測接口對應(yīng)的“HTTP 請求”上,添加“響應(yīng)斷言”
9、在設(shè)置頁面上添加對相應(yīng)結(jié)果的正則表達(dá)式存在性判斷即可:
10、添加監(jiān)聽器:方便查看運(yùn)行后的結(jié)果
運(yùn)行結(jié)果:
上述步驟完成了一個簡單測試案例的創(chuàng)建,復(fù)雜測試案例均在此基礎(chǔ)上擴(kuò)展完成。使用Jmeter工具開發(fā)的接口測試案例,一個子系統(tǒng)建議放在同一個 “測試計劃”中,流程測試可以通過“線程組”來區(qū)分,這樣也便于設(shè)定不同的測試數(shù)據(jù)個數(shù)。比較獨(dú)立的接口,可以統(tǒng)一放在一個線程組內(nèi),順序完成測試。
流程性接口的測試:如果要測試的接口可以組成一個流程,只需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的數(shù)據(jù)作為參數(shù),以保證流程中數(shù)據(jù)的一致性。