【接口/性能】Jmeter-01

測(cè)試需求跟上一篇實(shí)踐一樣,區(qū)別是之前用python-requests去實(shí)現(xiàn),現(xiàn)在用Jmeter實(shí)現(xiàn)。

使用Jmeter測(cè)試授權(quán)流程,https請(qǐng)求,步驟描述如下

1)用戶(hù)名密碼登錄CAS服務(wù)器,拿到TGT

2)使用TGT,拿到ST

3)通過(guò)接口url+ST,向應(yīng)用服務(wù)器請(qǐng)求數(shù)據(jù)


打開(kāi)Jmeter后自動(dòng)生成一個(gè)測(cè)試計(jì)劃,在測(cè)試計(jì)劃下新建線程組(一個(gè)線程組可以看做一個(gè)虛擬用戶(hù)組,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶(hù))。先把這個(gè)用戶(hù)組將要執(zhí)行的動(dòng)作添加進(jìn)去,如下步驟。

一、Jmeter發(fā)送HTTPS請(qǐng)求

成功地發(fā)送HTTPS請(qǐng)求,關(guān)鍵之處就是代理的設(shè)置。首先我們要在線程組里添加一個(gè)錄制控制器,不然無(wú)法生成Jmeter的CA證書(shū)文件。然后在工作臺(tái)右鍵添加-〉非測(cè)試元件-〉HTTP代理服務(wù)器。選擇默認(rèn)端口是8080即可。我電腦8080端口被占用了,用8888也可以。直接點(diǎn)擊啟動(dòng)。

接著找到工具欄“選項(xiàng)”-〉SSL管理器。打開(kāi)bin目錄下的ApacheJMeterTemporaryRootCA.crt,開(kāi)啟Jmeter代理。

二、添加HTTP請(qǐng)求頭

出于服務(wù)器安全方面的考慮,在設(shè)計(jì)的時(shí)候,公共請(qǐng)求頭還添加了一個(gè)自定義的特殊的字段。在這里加上就好了。

三、添加HTTP請(qǐng)求

因?yàn)槭荋TTPS,將端口號(hào)填寫(xiě)443。協(xié)議:https。方法我這里用的是POST。將服務(wù)器名稱(chēng)和路徑填入。并添加請(qǐng)求參數(shù)username和password。底部代理服務(wù)器填寫(xiě)本機(jī)地址和之前設(shè)置的端口號(hào)8888。(后面會(huì)發(fā)現(xiàn)運(yùn)行后,錄制控制器那里會(huì)記錄下通過(guò)該代理服務(wù)器的請(qǐng)求)

這里的HTTPS請(qǐng)求實(shí)現(xiàn)了第一步:用戶(hù)名密碼登錄CAS服務(wù)器,拿到TGT,可以看到響應(yīng)信息中TGT的值。

四、正則表達(dá)式提取器

接下來(lái)需要實(shí)現(xiàn)第二步:使用TGT,拿到ST。怎么在新增的HTTP請(qǐng)求中用到上一請(qǐng)求的返回值呢?這里就用到正則表達(dá)式提取器。右鍵后點(diǎn)擊:添加>后置處理器>正則表達(dá)式提取器。

正則表達(dá)式括號(hào)中表示提取的內(nèi)容。

正則表達(dá)式提取器說(shuō)明如下:

然后添加新的HTTP請(qǐng)求,填入相應(yīng)路徑和參數(shù)。這里路徑里需要用到剛才提取的TGT值,使用${TGT}進(jìn)行引用。

最后的兩個(gè)請(qǐng)求實(shí)現(xiàn)第三步:通過(guò)接口url+ST,向應(yīng)用服務(wù)器請(qǐng)求數(shù)據(jù)。需要用到getTicket中的ticket返回值。也是使用正則表達(dá)式提取器就好了。

五、擴(kuò)展

1)性能測(cè)試

實(shí)現(xiàn)單獨(dú)某個(gè)接口測(cè)試后,可以進(jìn)行該接口的性能測(cè)試。比如測(cè)試系統(tǒng)的及時(shí)性、處理能力等特性。通過(guò)響應(yīng)時(shí)間、吞吐量、并發(fā)用戶(hù)量去衡量服務(wù)器性能。

這里可以在線程組的參數(shù)中調(diào)整。最開(kāi)始說(shuō)到,線程組中的每個(gè)線程都可以理解為一個(gè)虛擬用戶(hù)。

線程數(shù):虛擬用戶(hù)數(shù)

Ramp-up Period:設(shè)置的虛擬用戶(hù)數(shù)需要多長(zhǎng)時(shí)間全部啟動(dòng)。如果線程數(shù)為10 ,準(zhǔn)備時(shí)長(zhǎng)為2 ,那么需要2秒鐘啟動(dòng)10個(gè)線程。也就是每秒鐘啟動(dòng)5個(gè)線程。

循環(huán)次數(shù):每個(gè)線程發(fā)送請(qǐng)求的次數(shù)。如果線程數(shù)為10,循環(huán)次數(shù)為100,那么總請(qǐng)求數(shù)為1000。

運(yùn)行后查看聚合報(bào)告,也有其它類(lèi)型的比如圖形結(jié)果、結(jié)果樹(shù)等。

衡量指標(biāo)一般有:平均響應(yīng)時(shí)間,90%Line值(指90%請(qǐng)求響應(yīng)時(shí)間不會(huì)超過(guò)這個(gè)值),錯(cuò)誤率(一般要求為0或<0.01%),吞吐量等。

2)Cookie管理器

對(duì)于軟件或web中一些需要登錄后才有權(quán)限的操作,當(dāng)進(jìn)行接口測(cè)試時(shí)不可能每一次都登錄一次。這時(shí)候可以在最開(kāi)始登錄后,獲取Cookie信息,以便其它操作直接用到??梢杂肅ookie管理器。這個(gè)還沒(méi)仔細(xì)研究,所以?xún)H作為可能的擴(kuò)展寫(xiě)在這里。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環(huán)境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 3,125評(píng)論 0 8
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,555評(píng)論 19 139
  • 互聯(lián)網(wǎng)壓力性能Badboy.Jmeterhttp://itopic.org/jmeter-http-tcp.htm...
    燕京博士閱讀 3,129評(píng)論 0 20
  • JMeter有兩種類(lèi)型的控制器:取樣器和邏輯控制器。 取樣器指示JMeter向一個(gè)服務(wù)器發(fā)送請(qǐng)求。例如,如果你想讓...
    七月尾巴_葵花閱讀 1,799評(píng)論 0 3
  • 我是慢熱型的人,昨天,臺(tái)風(fēng)登陸的消息滿天飛了,我還是處于迷茫的狀態(tài)。下班后,才感受到
    向往向陽(yáng)閱讀 82評(píng)論 0 0

友情鏈接更多精彩內(nèi)容