JMeter 基礎(chǔ)知識(shí)

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壓縮文件,解壓后格式如下圖所示


JMeter壓縮文件解壓

進(jìn)入bin文件夾,找到ApacheJMeter.jar文件茉唉,雙擊運(yùn)行


ApacheJMeter.jar

出現(xiàn)以下界面即為運(yùn)行成功


JMeter

切換語(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

測(cè)試計(jì)劃

添加線程(用戶)

第一步芬首,先添加線程組元件。線程組告訴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)求屬性中配置的信息赐劣。

HTTP請(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)求屬性

Home Page

下一步妥曲,添加第二個(gè)HTTP請(qǐng)求元件
修改名稱為"Changes"
設(shè)置Path字段為 "/changes.html"

Changes

添加監(jiān)聽(tīng)器查看測(cè)試結(jié)果

可以隨便添加幾個(gè)監(jiān)聽(tīng)器,看下不同的監(jiān)聽(tīng)器的展示結(jié)果钦购,我這里只添加一個(gè)查看結(jié)果樹(shù)監(jiān)聽(tīng)器

監(jiān)聽(tīng)器結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末檐盟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子押桃,更是在濱河造成了極大的恐慌葵萎,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異羡忘,居然都是意外死亡谎痢,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門卷雕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)节猿,“玉大人,你說(shuō)我怎么就攤上這事漫雕”踔觯” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵浸间,是天一觀的道長(zhǎng)太雨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)魁蒜,這世上最難降的妖魔是什么囊扳? 我笑而不...
    開(kāi)封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮梅惯,結(jié)果婚禮上宪拥,老公的妹妹穿的比我還像新娘仿野。我一直安慰自己铣减,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布脚作。 她就那樣靜靜地躺著葫哗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪球涛。 梳的紋絲不亂的頭發(fā)上劣针,一...
    開(kāi)封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音亿扁,去河邊找鬼捺典。 笑死,一個(gè)胖子當(dāng)著我的面吹牛从祝,可吹牛的內(nèi)容都是我干的襟己。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼牍陌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼擎浴!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起毒涧,我...
    開(kāi)封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤贮预,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體仿吞,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滑频,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唤冈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片误趴。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖务傲,靈堂內(nèi)的尸體忽然破棺而出凉当,到底是詐尸還是另有隱情,我是刑警寧澤售葡,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布看杭,位于F島的核電站,受9級(jí)特大地震影響挟伙,放射性物質(zhì)發(fā)生泄漏楼雹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一尖阔、第九天 我趴在偏房一處隱蔽的房頂上張望贮缅。 院中可真熱鬧,春花似錦介却、人聲如沸谴供。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桂肌。三九已至,卻和暖如春永淌,著一層夾襖步出監(jiān)牢的瞬間崎场,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工遂蛀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谭跨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓李滴,卻偏偏與公主長(zhǎng)得像螃宙,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悬嗓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容