使用Jmeter進(jìn)行http接口測試的實(shí)踐
前言:
本文主要針對http接口進(jìn)行測試,使用Jmeter工具實(shí)現(xiàn)。
Jmter工具設(shè)計(jì)之初是用于做性能測試的,它在實(shí)現(xiàn)對各種接口的調(diào)用方面已經(jīng)做的比較成熟,因此,本次直接使用Jmeter工具來完成對Http接口的測試。
一、開發(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è)計(jì)的自動化接口測試案例有兩個運(yùn)行場景:
1. 測試前置、開發(fā)自測:一個新的自動化接口測試案例開發(fā)完成后,直接發(fā)給接口對應(yīng)的開發(fā),安排在開發(fā)本地環(huán)境執(zhí)行,一旦開發(fā)確認(rèn)完成接口開發(fā),就開始執(zhí)行接口測試案例,基本上可以實(shí)時拿到測試結(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或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Jmeter,下載址址:http://jmeter.apache.org/download_jmeter.cgi
插件的下載安裝地址:http://www.jmeter-plugins.org/
四、創(chuàng)建工程:
1、打開Jmeter:下載好Jmeter后,雙擊bin目錄下的jmeter.bat文件:

2、添加線程組:在“測試計(jì)劃”上點(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請求的實(shí)現(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)建議放在同一個 “測試計(jì)劃”中,流程測試可以通過“線程組”來區(qū)分,這樣也便于設(shè)定不同的測試數(shù)據(jù)個數(shù)。比較獨(dú)立的接口,可以統(tǒng)一放在一個線程組內(nèi),順序完成測試?! ?/p>
流程性接口的測試:如果要測試的接口可以組成一個流程,只需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的數(shù)據(jù)作為參數(shù),以保證流程中數(shù)據(jù)的一致性。
到此這篇關(guān)于使用Jmeter進(jìn)行http接口測試的實(shí)踐的文章就介紹到這了,更多相關(guān)Jmeter http接口測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成shiro,MyRealm中無法@Autowired注入Service的問題
今天小編就為大家分享一篇關(guān)于SpringBoot集成shiro,MyRealm中無法@Autowired注入Service的問題,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Spring工廠方法創(chuàng)建(實(shí)例化)bean實(shí)例代碼
這篇文章主要介紹了Spring工廠方法創(chuàng)建bean實(shí)例代碼,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
MyBatis中selectKey標(biāo)簽及主鍵回填實(shí)現(xiàn)
<selectKey>標(biāo)簽在MyBatis中提供了一種靈活的方式來生成和回填主鍵,本文就來介紹一下selectKey標(biāo)簽及主鍵回填實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-12-12
Idea進(jìn)行pull的時候Your local changes would be
這篇文章主要介紹了Idea進(jìn)行pull的時候Your local changes would be overwritten by merge.具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
java開發(fā)SpringBoot參數(shù)校驗(yàn)過程示例教程
這篇文章主要為大家介紹了SpringBoot如何進(jìn)行參數(shù)校驗(yàn)的過程示例詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10

