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

JMeter下載

Apache JMeter - Download Apache JMeter

下載Binaries下 zip格式的壓縮包

下載

環(huán)境要求

JMeter是完全Java開發(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)

方式三:打開

打開之前定義的元件及配置文件,打開文件將會(huì)覆蓋現(xiàn)有的元件及配置,請(qǐng)確保已經(jīng)保存,否則將會(huì)丟失現(xiàn)有左側(cè)元件樹中的元件及配置

移除元件

選擇要?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),下次直接打開即可使用

菜單欄(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)聽器、定時(shí)器、前置處理器、后置處理器、斷言等

線程(用戶)

線程是一切測(cè)試計(jì)劃的起點(diǎn),所有的控制器和采樣器必須放在線程組下,其他一些組件,比如監(jiān)聽器,可以直接放在測(cè)試計(jì)劃下。放在線程組下,是監(jiān)聽當(dāng)前線程組的執(zhí)行結(jié)果,放在測(cè)試計(jì)劃下,是監(jiān)聽測(cè)試計(jì)劃下所有線程組的執(zhí)行結(jié)果。

取樣器

取樣器告訴JMeter向服務(wù)器發(fā)送一個(gè)請(qǐng)求并等待響應(yīng)。它們將按照它們?cè)跇渲谐霈F(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)聽器

請(qǐng)注意,所有監(jiān)聽器都保存相同的數(shù)據(jù);唯一的區(qū)別在于數(shù)據(jù)在屏幕上的顯示方式,可以以圖表或表格等不同的形式進(jìn)行展示

監(jiān)聽器可以添加到測(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)聽器

構(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)聽器查看測(cè)試結(jié)果

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

監(jiān)聽器結(jié)果
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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