使用Jmeter進(jìn)行http接口測(cè)試的實(shí)踐
前言:
本文主要針對(duì)http接口進(jìn)行測(cè)試,使用Jmeter工具實(shí)現(xiàn)。
Jmter工具設(shè)計(jì)之初是用于做性能測(cè)試的,它在實(shí)現(xiàn)對(duì)各種接口的調(diào)用方面已經(jīng)做的比較成熟,因此,本次直接使用Jmeter工具來(lái)完成對(duì)Http接口的測(cè)試。
一、開發(fā)接口測(cè)試案例的整體方案:
- 第一步:我們要分析出測(cè)試需求,并拿到開發(fā)提供的接口說(shuō)明文檔;
- 第二步:從接口說(shuō)明文檔中整理出接口測(cè)試案例,里面要包括詳細(xì)的入?yún)⒑统鰠?shù)據(jù)以及明確的格式和檢查點(diǎn)。
- 第三步:和開發(fā)一起對(duì)接口測(cè)試案例進(jìn)行評(píng)審。
- 第四步:結(jié)合開發(fā)庫(kù),準(zhǔn)備接口測(cè)試案例中的入?yún)?shù)據(jù)和出參數(shù)據(jù),并整理成csv格式的文件。
- 第五步:結(jié)合接口測(cè)試案例文檔和csv格式的數(shù)據(jù)文檔,做接口測(cè)試案例的自動(dòng)化案例開發(fā)。
二、接口自動(dòng)化適用場(chǎng)景:
目前設(shè)計(jì)的自動(dòng)化接口測(cè)試案例有兩個(gè)運(yùn)行場(chǎng)景:
1. 測(cè)試前置、開發(fā)自測(cè):一個(gè)新的自動(dòng)化接口測(cè)試案例開發(fā)完成后,直接發(fā)給接口對(duì)應(yīng)的開發(fā),安排在開發(fā)本地環(huán)境執(zhí)行,一旦開發(fā)確認(rèn)完成接口開發(fā),就開始執(zhí)行接口測(cè)試案例,基本上可以實(shí)時(shí)拿到測(cè)試結(jié)果,方便開發(fā)快速做出判斷?!鹃_發(fā)本地運(yùn)行的方式就是打開JMeter工具,導(dǎo)入JMX文件,開始執(zhí)行可?!?/p>
2. 回歸測(cè)試:開發(fā)本地測(cè)試通過(guò)后,或整個(gè)需求手工測(cè)試通過(guò)后,把自動(dòng)化的接口測(cè)試案例做分類整理,挑選出需要納入到回歸測(cè)試中的案例,在持續(xù)集成環(huán)境重新準(zhǔn)備測(cè)試數(shù)據(jù),并把案例納入到持續(xù)集成的job中來(lái),這些用于回歸的接口測(cè)試案例需要配置到持續(xù)集成平臺(tái)自動(dòng)運(yùn)行。
三、接口測(cè)試環(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、添加線程組:在“測(cè)試計(jì)劃”上點(diǎn)擊鼠標(biāo)右鍵-->添加-->threads(Users)-->線程組,添加測(cè)試場(chǎng)景設(shè)置組件,接口測(cè)試中一般設(shè)置為1個(gè)“線程數(shù)”,根據(jù)測(cè)試數(shù)據(jù)的個(gè)數(shù)設(shè)定“循環(huán)次數(shù)”。
3、添加“HTTP Cookie管理器”:
4、添加“Http請(qǐng)求默認(rèn)值”組件,當(dāng)被測(cè)系統(tǒng)有唯一的訪問(wèn)域名和端口時(shí),這個(gè)組件很好用:
5、在“HTTP 請(qǐng)求默認(rèn)值”組件配置頁(yè)面,填寫被測(cè)系統(tǒng)的域名和端口,http請(qǐng)求的實(shí)現(xiàn)包版本以及具體協(xié)議類型,線程組里的所有“HTTP Sampler”可默認(rèn)使用此設(shè)置。
6、在“線程組”里添加“HTTP 請(qǐng)求”的Sampler
7、在HTTP請(qǐng)求設(shè)置頁(yè)面,錄入被測(cè)接口的詳細(xì)信息,包括請(qǐng)求路徑,對(duì)應(yīng)的請(qǐng)求方法,以及隨請(qǐng)求一起發(fā)送的參數(shù)列表:
8、設(shè)置檢查點(diǎn):在被測(cè)接口對(duì)應(yīng)的“HTTP 請(qǐng)求”上,添加“響應(yīng)斷言”
9、在設(shè)置頁(yè)面上添加對(duì)相應(yīng)結(jié)果的正則表達(dá)式存在性判斷即可:
10、添加監(jiān)聽器:方便查看運(yùn)行后的結(jié)果
運(yùn)行結(jié)果:
上述步驟完成了一個(gè)簡(jiǎn)單測(cè)試案例的創(chuàng)建,復(fù)雜測(cè)試案例均在此基礎(chǔ)上擴(kuò)展完成。使用Jmeter工具開發(fā)的接口測(cè)試案例,一個(gè)子系統(tǒng)建議放在同一個(gè) “測(cè)試計(jì)劃”中,流程測(cè)試可以通過(guò)“線程組”來(lái)區(qū)分,這樣也便于設(shè)定不同的測(cè)試數(shù)據(jù)個(gè)數(shù)。比較獨(dú)立的接口,可以統(tǒng)一放在一個(gè)線程組內(nèi),順序完成測(cè)試。
流程性接口的測(cè)試:如果要測(cè)試的接口可以組成一個(gè)流程,只需要順序添加多個(gè)“HTTP 請(qǐng)求”的Sampler,各請(qǐng)求之間可以提取需要在上下文傳遞的數(shù)據(jù)作為參數(shù),以保證流程中數(shù)據(jù)的一致性。
到此這篇關(guān)于使用Jmeter進(jìn)行http接口測(cè)試的實(shí)踐的文章就介紹到這了,更多相關(guān)Jmeter http接口測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring Boot與Mybatis整合優(yōu)化詳解
關(guān)于spring-boot與mybatis整合優(yōu)化方面的介紹,就是Mybatis-Spring-boot-starter的介紹,具體內(nèi)容詳情大家參考下本文2017-07-07JWT在OpenFeign調(diào)用中進(jìn)行令牌中繼詳解
Feign是一個(gè)聲明式的Web Service客戶端,是一種聲明式、模板化的HTTP客戶端。而OpenFeign是Spring Cloud 在Feign的基礎(chǔ)上支持了Spring MVC的注解,如@RequesMapping等等,這篇文章主要給大家介紹了關(guān)于JWT在OpenFeign調(diào)用中進(jìn)行令牌中繼的相關(guān)資料,需要的朋友可以參考下2021-10-10java仿百度假分頁(yè)代碼實(shí)現(xiàn)的詳解
這篇文章主要介紹了java仿百度假分頁(yè)代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04java實(shí)現(xiàn)八皇后問(wèn)題示例分享
這篇文章主要介紹了java實(shí)現(xiàn)八皇后問(wèn)題示例,八皇后問(wèn)題,是一個(gè)古老而著名的問(wèn)題,是回溯算法的典型案例。該問(wèn)題是國(guó)際西洋棋棋手馬克斯·貝瑟爾于1848年提出2014-03-03springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解
這篇文章主要介紹了springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Java使用application.property讀取文件里面的值
本文通過(guò)實(shí)例代碼給大家介紹了Java使用application.property讀取文件里面的值,需要的朋友可以參考下2018-10-10Java實(shí)戰(zhàn)個(gè)人博客系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+springboot+mybatis+redis+vue+elementui+Mysql實(shí)現(xiàn)一個(gè)個(gè)人博客系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2022-01-01