文章已遷移到CSDN:博客地址:https://blog.csdn.net/xiaomacaicai/category_11196823.html
通過(guò)閱讀以下內(nèi)容珍语,你可以:
- 獨(dú)立完成Jmeter的部署
- 了解Jmeter的主要功能
- 完成第一個(gè)Jmeter的腳本
- 運(yùn)行它仅醇!
需要的準(zhǔn)備知識(shí): - 你可以部署JAVA運(yùn)行環(huán)境泽论,只要JRE就好憔晒;
- 你了解web端性能測(cè)試的基本原理硕并,至少得知道http請(qǐng)求url纳猪、報(bào)文陋葡、響應(yīng)
Hello JMeter
JMeter本身是Apache的一款性能測(cè)試工具棋傍,支持多個(gè)網(wǎng)絡(luò)協(xié)議救拉;
它提供了錄制功能,可以錄制請(qǐng)求舍沙;
你可以用他來(lái)做http接口自動(dòng)化測(cè)試近上;
它需要Jdk運(yùn)行環(huán)境,所以它是跨平臺(tái)的拂铡,你可以在windows和Linux上運(yùn)行它
你可以在JMeter里直接寫(xiě)java代碼壹无,然后運(yùn)行JAVA代碼
部署安裝Jmeter
首先安裝JDK 8,安裝和配置的過(guò)程就不寫(xiě)了哈感帅,地球上玩JAVA的應(yīng)該都會(huì)了斗锭。
[Jmeter]的下載地址https://jmeter.apache.org/download_jmeter.cgi
目前最新的版本是Apache JMeter 5.4.1,需要JDK1.8
如果是windows,則直接點(diǎn)擊[鏈接]https://downloads.apache.org//jmeter/binaries/apache-jmeter-5.4.1.zip失球,
下載后解壓得到JMeter目錄岖是,雙擊目錄下的bin/jmeter.bat帮毁,就可以直接啟動(dòng)JMeter,啟動(dòng)界面如圖:
能看到這個(gè)界面豺撑,你的JMeter就可以用了烈疚,很簡(jiǎn)單吧。JMeter默認(rèn)打開(kāi)后是英文界面聪轿,可以通過(guò)Options-Choose language爷肝,選擇簡(jiǎn)體中文
初步認(rèn)識(shí)JMeter
JMeter左側(cè)有一個(gè)TestPlan的根節(jié)點(diǎn),你可以理解一個(gè)JMeter測(cè)試的所有資源都在TestPlan下陆错,你要做的任何接口測(cè)試灯抛、性能測(cè)試,都必然屬于某一個(gè)TestPlan音瓷。同時(shí)一個(gè)TestPlan可以包含其他的TestPlan对嚼,方便腳本隔離,目前先有個(gè)概念就好绳慎,具體的應(yīng)用場(chǎng)景之后會(huì)再講纵竖。
TestPlan下你可以添加線程組,你把TestPlan理解成一次系統(tǒng)測(cè)試的話杏愤,線程組你可以類比成是系統(tǒng)測(cè)試下的測(cè)試用例磨确,每個(gè)測(cè)試場(chǎng)景都是一個(gè)線程組(當(dāng)然也可以是一個(gè)子TestPlan);
線程組下你可以添加線程声邦,每個(gè)線程你可以理解是一個(gè)具體的操作。線程里包含服務(wù)的url請(qǐng)求和參數(shù)摆舟。
舉個(gè)具體的例子亥曹,假設(shè)你要做一次性能測(cè)試,測(cè)試場(chǎng)景包含訂單查詢和訂單支付兩個(gè)場(chǎng)景恨诱,那么:
- 你可以建一個(gè)TestPlan媳瞪,名稱就叫訂單系統(tǒng)并發(fā)測(cè)試;
- 在場(chǎng)景下你可以新增兩個(gè)照宝,分別是訂單支付蛇受、訂單查詢,可以起中文的名字厕鹃;
- 在訂單支付"的線程組下兢仰,你可以新增三個(gè)HTTP請(qǐng)求,分別是用戶登錄剂碴、訂單查詢把将、用戶注銷;
-
同樣的操作忆矛,你可以新增一個(gè)訂單查詢的線程組
最后形成的腳本應(yīng)該類似是這個(gè)樣子:
測(cè)試腳本.png
啰嗦了這么半天察蹲,只是希望那些第一次接觸JMeter的朋友能對(duì)JMeter有一個(gè)基本的認(rèn)識(shí)。以后無(wú)論你是做什么樣的性能測(cè)試,你寫(xiě)出來(lái)的腳本層次結(jié)構(gòu)都跟它差不多洽议。都是測(cè)試計(jì)劃——線程組——http請(qǐng)求這種的
1.在TestPlan上右鍵——添加——線程(用戶)——線程組宗收,這樣你就為T(mén)estPlan增加了一個(gè)線程組
- 在線程組上右鍵——添加——取樣器——HTTP請(qǐng)求,你可以添加一個(gè)Http請(qǐng)求
其他類型的內(nèi)容亚兄,會(huì)在以后的文章里逐步介紹混稽。不要心急,每天學(xué)習(xí)15分鐘儿捧,一個(gè)月以后你就是大拿荚坞,你只需要堅(jiān)持下來(lái)。
第一個(gè)JMeter腳本
JMeter的基本操作暫時(shí)先講這么多菲盾,因?yàn)樗呀?jīng)足夠讓我們產(chǎn)生第一個(gè)JMeter腳本颓影,一個(gè)可以并發(fā)的性能測(cè)試腳本。
這里我們用簡(jiǎn)書(shū)為例懒鉴,為什么用簡(jiǎn)書(shū)呢诡挂,沒(méi)啥原因。临谱。有的人可能覺(jué)得用百度簡(jiǎn)單璃俗,其實(shí)百度首頁(yè)別看只有一個(gè)搜索框,寫(xiě)他的性能測(cè)試腳本其實(shí)不簡(jiǎn)單悉默,特別是對(duì)于舉例來(lái)說(shuō)一點(diǎn)都不合適城豁。
獲取http請(qǐng)求和報(bào)文
打開(kāi)谷歌瀏覽器,按f12調(diào)出開(kāi)發(fā)者工具抄课,切換到Network頁(yè)簽唱星,勾選“Preserver log",作用是保留所有請(qǐng)求跟磨,防止頁(yè)面重定向有些請(qǐng)求就看不到了间聊,,然后輸入簡(jiǎn)書(shū)網(wǎng)址抵拘,此時(shí)你能看到F12中的請(qǐng)求哎榴,如圖:
標(biāo)注的兩部分內(nèi)容,對(duì)于本次足夠用了僵蛛。你可以知道簡(jiǎn)書(shū)訪問(wèn)的url請(qǐng)求是http://www.reibang.com/尚蝌,請(qǐng)求類型是get請(qǐng)求,端口是80充尉。
創(chuàng)建腳本
由于目前的腳本并不復(fù)雜驼壶,我們直接手寫(xiě)就行。
首先在測(cè)試計(jì)劃下新增一個(gè)線程組喉酌,名稱改為首頁(yè)加載測(cè)試热凹,其他默認(rèn)泵喘;
在”首頁(yè)加載測(cè)試“的線程組下,新一個(gè)Http請(qǐng)求般妙,
名稱:”打開(kāi)簡(jiǎn)書(shū)首頁(yè)“纪铺,
協(xié)議:http,注意實(shí)際訪問(wèn)地址是https碟渺,我們的腳本里寫(xiě)上http鲜锚,因?yàn)槟阒苯訉?xiě)https是會(huì)報(bào)錯(cuò)的。以后會(huì)JMeter如何進(jìn)行https的測(cè)試
服務(wù)器名稱或ip:www.reibang.com苫拍,
路徑:/芜繁,注意是一個(gè)反斜杠,因?yàn)槲覀冊(cè)L問(wèn)的是首頁(yè)绒极。
http請(qǐng)求:get骏令,端口默認(rèn)不寫(xiě)就是80,但是仍然建議寫(xiě)上80
為測(cè)試計(jì)劃添加一個(gè)結(jié)果查看器垄提,方便查看結(jié)果:測(cè)試計(jì)劃上右鍵——監(jiān)聽(tīng)器——察看結(jié)果樹(shù)榔袋。完成后的腳本如下
Hello JMeter
在完成的腳本上點(diǎn)擊運(yùn)行按鈕,此時(shí)你能看到腳本很快運(yùn)行結(jié)束铡俐,然后在察看結(jié)果樹(shù)中有了新的運(yùn)行結(jié)果凰兑。如圖:
恭喜,你的第一個(gè)JMeter腳本可以運(yùn)行了审丘,啰嗦了半天吏够,其實(shí)真正操作起來(lái)就一兩分鐘的事情。這里要特別注意:
- 我們只寫(xiě)一個(gè)Http請(qǐng)求滩报,但是在結(jié)果察看器里出現(xiàn)了兩個(gè)Http的結(jié)果稿饰,那是因?yàn)槲覀兊膮f(xié)議是http而不是https,簡(jiǎn)書(shū)用301將Http請(qǐng)求強(qiáng)制轉(zhuǎn)換成了https的露泊。很多的網(wǎng)站將http強(qiáng)轉(zhuǎn)成https訪問(wèn),而不是直接禁止Http訪問(wèn)旅择,這其實(shí)也是一種通用的做法惭笑。
- 在取樣器結(jié)果中有Response code,所有2xx和3xx的返回碼我們都可以接受生真,所有4xx和5xx的我們都需要排查原因沉噩,因?yàn)槟且馕吨?wù)器不能正常返回響應(yīng)結(jié)果(404需要與研發(fā)確認(rèn)是否為并發(fā)導(dǎo)致)
現(xiàn)在,你已經(jīng)邁出JMeter的第一步了柱蟀。