JMeter下載
Apache JMeter - Download Apache JMeter
下載Binaries下 zip格式的壓縮包
環(huán)境要求
JMeter是完全Java開(kāi)發(fā)的軟件换帜,所以電腦需要安裝Java環(huán)境
JMeter運(yùn)行需要Java8或更高的Java版本
如果未安裝Java,參考其他教程進(jìn)行安裝氮唯,并配置Java環(huán)境變量
運(yùn)行JMeter
解壓JMeter壓縮文件,解壓后格式如下圖所示
進(jìn)入bin文件夾,找到ApacheJMeter.jar文件茉唉,雙擊運(yùn)行
出現(xiàn)以下界面即為運(yùn)行成功
切換語(yǔ)言
中文切換為英文
菜單欄 -> 選項(xiàng) -> 選擇語(yǔ)言 -> 選擇英語(yǔ)
英文切換為中文
菜單欄 -> Options -> Choose Language -> Chinese
這里有兩種:Chinese(Simplified) 簡(jiǎn)體中文、Chinese(Traditional) 繁體中文
測(cè)試步驟
1、新建測(cè)試計(jì)劃
2逆趋、創(chuàng)建一到多個(gè)線程組盏阶,采樣器晒奕,控制器等元件
3、執(zhí)行測(cè)試計(jì)劃
起步
添加元件
方式一:添加
界面左側(cè)名斟,測(cè)試計(jì)劃(Test Plan)右鍵脑慧,添加(add),選擇需要的元件砰盐,一般來(lái)說(shuō)都是先添加線程組
方式二:合并
如果有之前定義的元件及配置闷袒,這次可以使用到,可以在需要添加之前配置的元件上右鍵岩梳,點(diǎn)擊合并選項(xiàng)
方式三:打開(kāi)
打開(kāi)之前定義的元件及配置文件囊骤,打開(kāi)文件將會(huì)覆蓋現(xiàn)有的元件及配置,請(qǐng)確保已經(jīng)保存冀值,否則將會(huì)丟失現(xiàn)有左側(cè)元件樹(shù)中的元件及配置
移除元件
選擇要?jiǎng)h除的元件也物,右鍵,點(diǎn)擊刪除(Remove)選項(xiàng)
調(diào)整元件及順序
選中要調(diào)整的元件列疗,長(zhǎng)按鼠標(biāo)左側(cè)滑蚯,即可上下移動(dòng),調(diào)整元件的位置及順序
保存測(cè)試計(jì)劃
最新版JMeter這一步不是必須的抵栈,為了減少以后的重復(fù)配置告材,所以最好將測(cè)試計(jì)劃保存下來(lái),下次直接打開(kāi)即可使用
菜單欄(Menu Bar)-> 文件 (File)-> 保存(Save)或 保存測(cè)試計(jì)劃為(Save Test Plan as)
運(yùn)行測(cè)試計(jì)劃
菜單欄(Menu Bar)-> 運(yùn)行(Run)-> 啟動(dòng)(Start)或 不停頓啟動(dòng)(Start no pauses)
或者是工具欄中綠色箭頭古劲,啟動(dòng)(Start)和不停頓啟動(dòng)(Start no pauses)
ps: 僅當(dāng)調(diào)試測(cè)試計(jì)劃時(shí)斥赋,才應(yīng)使用GUI模式。要運(yùn)行實(shí)際負(fù)載測(cè)試产艾,請(qǐng)使用命令行(CLI)模式灿渴。
停止測(cè)試計(jì)劃
菜單欄 -> 運(yùn)行 -> 停止(Stop)或 關(guān)閉(Shutdown)
或菜單欄,啟動(dòng)按鈕右側(cè)按鈕胰舆,停止(Stop)和關(guān)閉(Shutdown)
兩種停止的區(qū)別
停止(Stop):立即停止骚露,如果線程或采樣器正在運(yùn)行,將會(huì)提前結(jié)束
關(guān)閉(Shutdown):等待當(dāng)前線程或采樣器執(zhí)行結(jié)束后停止
各類元件及作用
在添加元件時(shí)缚窿,我們可以看到棘幸,元件分為線程(用戶)、取樣器倦零、配置元件误续、監(jiān)聽(tīng)器吨悍、定時(shí)器、前置處理器蹋嵌、后置處理器育瓜、斷言等
線程(用戶)
線程是一切測(cè)試計(jì)劃的起點(diǎn),所有的控制器和采樣器必須放在線程組下栽烂,其他一些組件躏仇,比如監(jiān)聽(tīng)器,可以直接放在測(cè)試計(jì)劃下腺办。放在線程組下焰手,是監(jiān)聽(tīng)當(dāng)前線程組的執(zhí)行結(jié)果,放在測(cè)試計(jì)劃下怀喉,是監(jiān)聽(tīng)測(cè)試計(jì)劃下所有線程組的執(zhí)行結(jié)果书妻。
取樣器
取樣器告訴JMeter向服務(wù)器發(fā)送一個(gè)請(qǐng)求并等待響應(yīng)。它們將按照它們?cè)跇?shù)中出現(xiàn)的順序進(jìn)行處理躬拢《懵模控制器可用于修改取樣器的重復(fù)次數(shù)。
JMeter包括以下采樣器:FTP聊闯、HTTP(可用于WebService)工猜、JDBC、Java對(duì)象馅袁、JMS域慷、JUnit Test、LDAP汗销、Mail犹褒、OS Process、TCP等
你可以通過(guò)向測(cè)試計(jì)劃添加一個(gè)或多個(gè)配置元件來(lái)進(jìn)一步定制采樣器弛针。
如果你打算發(fā)送多個(gè)同類型請(qǐng)求到服務(wù)器叠骑,考慮使用默認(rèn)配置元件。
邏輯控制器
邏輯控制器允許您自定義JMeter用來(lái)決定何時(shí)發(fā)送請(qǐng)求的邏輯削茁。邏輯控制器可以更改來(lái)自其子元件的請(qǐng)求順序宙枷。它們可以修改請(qǐng)求本身,使JMeter重復(fù)請(qǐng)求茧跋,等等慰丛。
配置元件
配置元件與取樣器配合使用。它可以添加或修改請(qǐng)求的配置信息瘾杭,例如诅病,配置配置HTTP請(qǐng)求頭,Cookie等信息
監(jiān)聽(tīng)器
請(qǐng)注意,所有監(jiān)聽(tīng)器都保存相同的數(shù)據(jù)贤笆;唯一的區(qū)別在于數(shù)據(jù)在屏幕上的顯示方式蝇棉,可以以圖表或表格等不同的形式進(jìn)行展示
監(jiān)聽(tīng)器可以添加到測(cè)試中的任何地方,包括直接放到測(cè)試計(jì)劃下芥永。他們將收集同級(jí)別或比他們級(jí)別低的元件的數(shù)據(jù)篡殷。
定時(shí)器
默認(rèn)情況下,JMeter線程按順序執(zhí)行采樣器而不暫停埋涧。我們建議您通過(guò)向線程組添加一個(gè)可用定時(shí)器來(lái)指定延遲板辽。如果不增加延遲,JMeter可能會(huì)在很短的時(shí)間內(nèi)發(fā)出過(guò)多的請(qǐng)求飞袋,從而使服務(wù)器崩潰戳气。
定時(shí)器將使JMeter在其范圍內(nèi)的每個(gè)采樣器之前延遲一定的時(shí)間链患。
前置處理器
前置處理器在發(fā)出取樣器請(qǐng)求之前執(zhí)行一些操作巧鸭。如果前置處理器連接到取樣器元件,那么它將在該取樣器元件運(yùn)行之前執(zhí)行麻捻。前置處理器最常用于在示例請(qǐng)求運(yùn)行之前修改其設(shè)置纲仍。
后置處理器
后置處理器在發(fā)出采樣器請(qǐng)求后執(zhí)行某些操作。如果后置處理器連接到取樣器元件贸毕,那么它將在該取樣器元件運(yùn)行后立即執(zhí)行郑叠。后置處理器最常用于處理響應(yīng)數(shù)據(jù),通常用于從中提取值明棍。
斷言
斷言允許你斷言有關(guān)從被測(cè)試服務(wù)器收到的響應(yīng)乡革。使用斷言,你可以“測(cè)試”您的應(yīng)用程序是否返回你期望的結(jié)果摊腋。
例如沸版,你可以斷言對(duì)查詢的響應(yīng)是否包含某些特定文本。
你可以向任何采樣器添加斷言兴蒸。例如视粮,你可以向HTTP請(qǐng)求添加一個(gè)斷言,以檢查文本“</HTML>”橙凳。然后蕾殴,JMeter將檢查HTTP響應(yīng)中是否存在文本。如果JMeter找不到文本岛啸,那么它會(huì)將此標(biāo)記為失敗的請(qǐng)求钓觉。
請(qǐng)注意,斷言適用于其范圍內(nèi)的所有采樣器坚踩。要將斷言限制為單個(gè)采樣器荡灾,請(qǐng)將斷言添加為采樣器的子級(jí)。
元件的執(zhí)行順序
配置元件
前置處理器
定時(shí)器
取樣器
后置處理器
斷言
監(jiān)聽(tīng)器
構(gòu)建Web測(cè)試計(jì)劃
新建測(cè)試計(jì)劃
菜單欄 -> 文件 -> 新建
如果不想叫測(cè)試計(jì)劃,可以取個(gè)更貼切的名字卧晓,我這里就叫Web測(cè)試計(jì)劃Demo
添加線程(用戶)
第一步芬首,先添加線程組元件。線程組告訴JMeter你想要模擬的用戶數(shù)量逼裆,用戶發(fā)送請(qǐng)求的頻率和他們應(yīng)該發(fā)送多少請(qǐng)求郁稍。
給線程組起一個(gè)更具描述性的名字,例:JMeter用戶
下一步胜宇,增加用戶(線程)數(shù)到5耀怜,模擬5個(gè)用戶。也可以調(diào)整Ramp-Up時(shí)間和循環(huán)次數(shù)
添加默認(rèn)的HTTP請(qǐng)求屬性
定義完用戶之后桐愉,下一步就是定義要指定的任務(wù)了财破。
線程組右鍵,添加从诲,配置元件左痢,HTTP請(qǐng)求默認(rèn)值。
如果線程組下有多個(gè)請(qǐng)求系洛,我們不想在每個(gè)請(qǐng)求處配置主機(jī)信息(域名或IP地址)俊性,我們就可以添加一個(gè)HTTP請(qǐng)求屬性耙旦,所有的請(qǐng)求都會(huì)采用請(qǐng)求屬性中配置的信息赐劣。
添加Cookie支持
幾乎所有的web測(cè)試都應(yīng)該使用cookie支持,除非你的應(yīng)用明確不需要cookie酗电。給線程組添加一個(gè)HTTP Cookie Manager绽诚,確保每個(gè)線程組有自己的cookie典徊,但是可以在每個(gè)線程組內(nèi)所有的HTTP 請(qǐng)求對(duì)象間共享。
添加HTTP請(qǐng)求
給JMeter Users元件添加第一個(gè)HTTP請(qǐng)求恩够,添加-> 采樣器 -> HTTP 請(qǐng)求卒落,之后選擇HTTP請(qǐng)求元件,編輯以下屬性
修改名稱字段為: “Home Page”
設(shè)置路徑字段為 "/"玫鸟。我們不需要設(shè)置服務(wù)器名稱字段导绷,因?yàn)槲覀円呀?jīng)在HTTP請(qǐng)求默認(rèn)值元件中進(jìn)行了配置。
我們這里路徑只配置了"/"屎飘,是因?yàn)槲覀円呀?jīng)配置了通用的請(qǐng)求屬性
下一步妥曲,添加第二個(gè)HTTP請(qǐng)求元件
修改名稱為"Changes"
設(shè)置Path字段為 "/changes.html"
添加監(jiān)聽(tīng)器查看測(cè)試結(jié)果
可以隨便添加幾個(gè)監(jiān)聽(tīng)器,看下不同的監(jiān)聽(tīng)器的展示結(jié)果钦购,我這里只添加一個(gè)查看結(jié)果樹(shù)監(jiān)聽(tīng)器