使用Jmeter進(jìn)行接口測(cè)試和壓力測(cè)試的配置和使用
1. Jmeter簡(jiǎn)介
Apache JMeter是Apache組織開發(fā)的基于Java的壓力測(cè)試工具。用于對(duì)軟件做壓力測(cè)試,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來擴(kuò)展到其他測(cè)試領(lǐng)域。
JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來自不同壓力類別下測(cè)試它們的強(qiáng)度和分析整體性能。
另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試,通過創(chuàng)建帶有斷言的腳本來驗(yàn)證你的程序返回了你期望的結(jié)果。
Jmeter的使用需要java環(huán)境,需要先下載安裝jdk;
下載Jmeter工具包,解壓后進(jìn)入bin文件夾,點(diǎn)擊jmeter.bat即可運(yùn)行;
可下載插件,擁有更多專業(yè)元件。
在http://jmeter-plugins.org/downloads/all/下載JmeterPlugins-Standard-1.1.3.zip,解壓后將JmeterPlugins-Standard.jar放在XXX\Apache\jmeter\lib\ext下即可
1.什么是接口測(cè)試?
接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試。接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
2.準(zhǔn)備數(shù)據(jù)
獲得測(cè)試URL中需要用的參數(shù)名稱及值的獲取方式。
獲得各請(qǐng)求的方法、IP、測(cè)試URL、測(cè)試header、測(cè)試body及判斷基準(zhǔn)
測(cè)試實(shí)施
將測(cè)試用例中的各項(xiàng)寫入軟件中。
(1)創(chuàng)建線程組
(2)修改線程組名稱
(3)為線程組添加元件
1.HTTP Cookie管理器
因?yàn)楹芏鄔eb網(wǎng)站都是需要登錄后才可以進(jìn)行操作,登錄后產(chǎn)生的Cookie能夠驗(yàn)證用戶身份,在用軟件進(jìn)行測(cè)試時(shí),需要通過驗(yàn)證,所以我們需要添加此管理器管理Cookie,它的值被整個(gè)線程共享(也可以被整個(gè)測(cè)試計(jì)劃共享), Cookie在瀏覽器中取得。
2.HTTP 請(qǐng)求默認(rèn)值
測(cè)試用例中每個(gè)接口的共同值可以用“HTTP 請(qǐng)求默認(rèn)值”元件統(tǒng)計(jì)設(shè)置,省去每次請(qǐng)求都要填寫的麻煩,它的值被整個(gè)線程共享(也可以被整個(gè)測(cè)試計(jì)劃共享)。
3.用戶定義的變量
將后續(xù)用到的變量添加到“用戶定義的變量”,后續(xù)操作只需引用變量名稱即可,它的值被整個(gè)線程共享(也可以被整個(gè)測(cè)試計(jì)劃共享)。
4.HTTP請(qǐng)求
發(fā)送http請(qǐng)求需要用的元件。
5.HTTP信息頭管理器
發(fā)送http請(qǐng)求需要加入信息頭時(shí)用此元件,如線程組中的所有請(qǐng)求均需要信息頭,則可將此管理器升級(jí)為整個(gè)線程組共享或者整個(gè)測(cè)試計(jì)劃共享。
6.響應(yīng)斷言
發(fā)送請(qǐng)求后,需要通過比對(duì)響應(yīng)結(jié)果是夠符合判斷基準(zhǔn)來判斷某條測(cè)試是否ok,通過人為判斷是可行的,但是當(dāng)請(qǐng)求數(shù)量較大時(shí),人為判斷效率低下,添加“響應(yīng)斷言” 能夠提高效率(判斷基準(zhǔn)有多個(gè)時(shí),可以添加多個(gè)斷言)。
7.察看結(jié)果樹
用于查看測(cè)試結(jié)果。
8.其他元件
(1)正則表達(dá)式提取器
可將某次響應(yīng)返回?cái)?shù)據(jù)中某些信息提取出來,用于后續(xù)操作。
(2)Debug Sampler
用于調(diào)試整個(gè)測(cè)試
(3)CSV Data Set Config
通過文件進(jìn)行參數(shù)化的一個(gè)元件。
(4)開始測(cè)試
添加好各種元件及數(shù)據(jù)后,可進(jìn)行測(cè)試,通過察看結(jié)果樹察看各請(qǐng)求測(cè)試結(jié)果。
(1)線程組
(2)Constant Throughput Timer(固定吞吐量控制器)
(3)聚合報(bào)告
(4)監(jiān)聽器
監(jiān)聽器jp@gc - Transactions per Second
監(jiān)聽器jp@gc –PerfMon Metrics Collector
(5)使用非GUI界面運(yùn)行壓力測(cè)試
非GUI壓力測(cè)試步驟:
在GUI界面設(shè)置并發(fā)數(shù)、測(cè)試時(shí)間等,添加各元件,保存測(cè)試計(jì)劃,并關(guān)閉軟件;
使用非GUI界面,用指令啟動(dòng)壓力測(cè)試;
指令例如:D:\Program Files\apache-jmeter-3.1\bin>jmeter -n -t testplan.jmx -l listener.jtl
打開jmeter.bat,在聚合報(bào)告元件中載入“l(fā)istener.jtl”,查看聚合報(bào)告;
在監(jiān)視器中中載入“l(fā)istener.jtl”,查看各曲線圖。
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 https://blog.csdn.net/m0_37529303/article/details/75453230