JMeter入門(mén)教程

本文版權(quán)歸xmeter.net所有。歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處。

簡(jiǎn)介

本文由xmeter君寫(xiě)給想了解性能測(cè)試和JMeter的小白,適合對(duì)這兩者了解很少的同學(xué)們,如果已經(jīng)有使用經(jīng)驗(yàn)的請(qǐng)繞道,別浪費(fèi)時(shí)間:-) ?我們將介紹JMeter的使用場(chǎng)景,如何安裝、運(yùn)行JMeter,以及開(kāi)始一個(gè)最最簡(jiǎn)單的測(cè)試。你還徘徊在JMeter的門(mén)口嗎?別猶豫了,跟著本文做完,你就可以開(kāi)啟你的JMeter之旅了。

JMeter是開(kāi)源軟件Apache基金會(huì)下的一個(gè)性能測(cè)試工具,用來(lái)測(cè)試部署在服務(wù)器端的應(yīng)用程序的性能。近來(lái),JMeter因?yàn)槠涫褂煤?jiǎn)單,現(xiàn)在也被社區(qū)作為接口測(cè)試工具...... 啥?什么是性能測(cè)試,怎么又來(lái)了個(gè)接口測(cè)試?好吧,xmeter君舉個(gè)栗子,你開(kāi)了一個(gè)網(wǎng)店,興沖沖地準(zhǔn)備雙十一大干一把,沒(méi)想當(dāng)天活動(dòng)的時(shí)候大量用戶(hù)一訪問(wèn)你的網(wǎng)店,你的網(wǎng)店掛了,那怎么辦?辦法就是在實(shí)際搞活動(dòng)之前,先測(cè)試一下以確認(rèn)系統(tǒng)能承受那么多的用戶(hù),當(dāng)然測(cè)試的時(shí)候我們不需要請(qǐng)真正的這么多實(shí)際用戶(hù),否則得花多少錢(qián)啊,JMeter就是那個(gè)能幫助模擬大量用戶(hù)訪問(wèn)你網(wǎng)站的一個(gè)軟件。對(duì),而且它是開(kāi)源的,不花錢(qián)!那個(gè)接口測(cè)試呢,這里大概了解一下就可以了,就是驗(yàn)證你的網(wǎng)店應(yīng)用邏輯有沒(méi)有問(wèn)題的,比如你做打折活動(dòng)的時(shí)候,結(jié)算的時(shí)候金額別出錯(cuò),要不客戶(hù)找你麻煩不是?

JMeter下載和安裝

JMeter可以在JMeter的官方網(wǎng)站下載,下載鏈接如下圖所示,xmeter君寫(xiě)本文的時(shí)候(2016/11)可以下載到的最新的版本是3.0,

JMeter下載

下載后解壓到你系統(tǒng)下的任意目錄,我們稱(chēng)該目錄為%JMETER_HOME%,然后運(yùn)行%JMETER_HOME%\bin\jmeter.bat文件,怎么樣,JMeter出來(lái)了嗎?嗯!?等等,好像報(bào)錯(cuò)了。仔細(xì)看一下報(bào)錯(cuò)原因,原來(lái)是Java沒(méi)安裝,因?yàn)镴Meter是用Java寫(xiě)的,運(yùn)行的時(shí)候需要Java ......不對(duì)啊,xmeter君,我這里好像已經(jīng)看到JMeter的界面了 -- 當(dāng)然咯,恭喜你,這是因?yàn)槟阒耙呀?jīng)安裝了Java了,就跳過(guò)下一步吧。

Java未安裝錯(cuò)誤

安裝Java

安裝之前先下載其安裝包,這里是下載地址。打開(kāi)頁(yè)面后,按序點(diǎn)擊下列所示的鏈接,xmeter君寫(xiě)本文的時(shí)候,Java的最新版本是8。

Java下載地址

進(jìn)入下一個(gè)頁(yè)面后,按序點(diǎn)擊如下所示開(kāi)始下載,當(dāng)然,下載的文件需要跟你的系統(tǒng)對(duì)應(yīng),如果是Linux請(qǐng)下載相關(guān)的Linux版本,xmeter君用的是Windows 64位版的Java。

下載Java的鏈接

下載完畢之后運(yùn)行exe文件,按照向?qū)崾景惭b完Java。再次運(yùn)行%JMETER_HOME%\bin\jmeter.bat,如果都安裝對(duì)了的話就應(yīng)該能出現(xiàn)JMeter的運(yùn)行界面了。

JMeter 3.0運(yùn)行界面

JMeter之初體驗(yàn)

JMeter安裝完了,那我們來(lái)一個(gè)簡(jiǎn)單的實(shí)驗(yàn)。性能測(cè)試當(dāng)然得有個(gè)測(cè)試目標(biāo),就是被測(cè)系統(tǒng)是什么,xmeter君這里就以測(cè)度娘為例來(lái)描述構(gòu)造一個(gè)簡(jiǎn)單的性能測(cè)試過(guò)程:xmeter君保證你在5分鐘之內(nèi)完成一次測(cè)試體驗(yàn)。

添加虛擬用戶(hù)組

如下圖所示,右擊“測(cè)試計(jì)劃”>添加>Threads(Users)>線程組。這里xmeter君需要解釋一下“線程組”的意思:JMeter是由Java實(shí)現(xiàn)的,并且使用一個(gè)Java線程來(lái)模擬一個(gè)用戶(hù),因此線程組(Thread Group)就是指一組用戶(hù)的意思,換句話說(shuō)一個(gè)線程組就是一組虛擬用戶(hù)(virtual users),這些虛擬用戶(hù)用來(lái)模擬訪問(wèn)被測(cè)系統(tǒng)。

新建線程組

接下來(lái)xmeter君給大家介紹下“線程組”中常用到的一些設(shè)置。

1)線程數(shù):這里就是指虛擬用戶(hù)數(shù),默認(rèn)的輸入是“1”,則表明模擬一個(gè)虛擬用戶(hù)訪問(wèn)被測(cè)系統(tǒng),如果想模擬100個(gè)用戶(hù),則此處輸入100。

2)Ramp-Up Period (in seconds): 虛擬用戶(hù)增長(zhǎng)時(shí)長(zhǎng)。不明白別著急,xmeter君給你舉個(gè)栗子:比如你測(cè)試的是一個(gè)考勤系統(tǒng),那么實(shí)際用戶(hù)登錄使用考勤系統(tǒng)的時(shí)候并不是大家喊1、2、3 - 走起,然后一起登錄。實(shí)際使用場(chǎng)景可能是9點(diǎn)鐘上班,那么從8:30開(kāi)始,考勤系統(tǒng)會(huì)陸陸續(xù)續(xù)有人開(kāi)始登錄,直到9:10左右,那么如果完全按照用戶(hù)的使用場(chǎng)景,設(shè)計(jì)該測(cè)試的時(shí)候此處應(yīng)輸入40(分鐘)* 60(秒)= 2400。但是實(shí)際測(cè)試一般不會(huì)設(shè)置如此長(zhǎng)的Ramp-Up時(shí)間,原因嘛,難道你做一次測(cè)試要先等上40分鐘做登錄操作?一般情況下,可以估計(jì)出登錄頻率最高的時(shí)間長(zhǎng)度,比如此處可能從8:55到9:00登錄的人最多,那這里設(shè)置成300秒,如果“線程數(shù)”輸入為100,則意味著在5分鐘內(nèi)100用戶(hù)登錄完畢。

3)循環(huán)次數(shù):該處設(shè)置一個(gè)虛擬用戶(hù)做多少次的測(cè)試。默認(rèn)為1,意味著一個(gè)虛擬用戶(hù)做完一遍事情之后,該虛擬用戶(hù)停止運(yùn)行。如果選中“永遠(yuǎn)”,則意味著測(cè)試運(yùn)行起來(lái)之后就根本停不下來(lái)了,除非你把它強(qiáng)制咔嚓。

線程組的設(shè)置

添加被測(cè)頁(yè)面

接下來(lái)的一步就是要加入實(shí)際被測(cè)頁(yè)面,右擊“線程組” > “添加” > “Sampler” > “HTTP請(qǐng)求”。

添加“HTTP請(qǐng)求”

接下來(lái)需要設(shè)置一下“HTTP請(qǐng)求” Sampler的屬性,如下所示:

1)名稱(chēng):輸入“百度”,就是被測(cè)試網(wǎng)頁(yè)的描述性文字

2)服務(wù)器名稱(chēng)或IP:被測(cè)服務(wù)器的網(wǎng)站名字,也可以是IP地址。剩下的屬性可以按照被測(cè)系統(tǒng)的屬性按需配置,現(xiàn)在都可以為空。

設(shè)置HTTP請(qǐng)求的屬性

現(xiàn)在的測(cè)試腳本已經(jīng)可以運(yùn)行了,先點(diǎn)擊下面如圖所示的第一步:點(diǎn)擊保存腳本按鈕;然后點(diǎn)擊如圖所示的第二步:點(diǎn)擊運(yùn)行測(cè)試按鈕。

保存與運(yùn)行測(cè)試

等等,xmeter君,為什么我的測(cè)試跑完了沒(méi)啥反應(yīng)?嗯,其實(shí)測(cè)試已經(jīng)跑完了,你可以去“選項(xiàng)” > “Log Viewer”看看運(yùn)行的日志。如果你還是看不到日志,你可以點(diǎn)擊下面所示的三角箭頭展開(kāi)或者收起日志視圖。日志視圖中可以看到“線程組 1-1”的啟動(dòng)和結(jié)束時(shí)間,表明測(cè)試已經(jīng)跑完。

測(cè)試日志視圖

這JMeter運(yùn)行看著也太不直觀了吧?那如果我的測(cè)試有問(wèn)題了,怎么發(fā)現(xiàn)啊?別著急,JMeter提供了“監(jiān)聽(tīng)器”讓用戶(hù)來(lái)觀察測(cè)試結(jié)果。

添加結(jié)果監(jiān)聽(tīng)器

如下圖所示,右擊“線程組” > “監(jiān)聽(tīng)器” > “察看結(jié)果樹(shù)”來(lái)查看性能測(cè)試過(guò)程中請(qǐng)求和響應(yīng)信息。添加完畢后,保存測(cè)試腳本,再次運(yùn)行。

添加查看結(jié)果樹(shù)

運(yùn)行測(cè)試完畢之后,點(diǎn)擊“察看結(jié)果樹(shù)” > “百度”,點(diǎn)擊下圖中3所示位置,你可以看到一些測(cè)試期間一些有用的信息,比如發(fā)送的請(qǐng)求的信息和響應(yīng)數(shù)據(jù)等。接下來(lái)可以試著改一下“線程組”里的“線程數(shù)”為10,就是模擬10個(gè)用戶(hù)訪問(wèn)。別改太大哦,否則小心度娘把你的IP地址給封了 :-)

察看結(jié)果樹(shù)截圖

好啦,至此為止,你已經(jīng)學(xué)會(huì)了寫(xiě)一個(gè)最簡(jiǎn)單的JMeter的性能測(cè)試用例。怎么樣,夠簡(jiǎn)單吧!

更多JMeter在線知識(shí)(視頻、文章等)

當(dāng)然咯,xmeter君在這篇文章里只是介紹了最簡(jiǎn)單的JMeter知識(shí),如果要完成一個(gè)比較專(zhuān)業(yè)的性能測(cè)試用例還需要對(duì)性能測(cè)試過(guò)程用到的技術(shù)有系統(tǒng)的了解才可以。xmeter君近期將在網(wǎng)站上推出比較系統(tǒng)的性能測(cè)試培訓(xùn)課程,包括性能測(cè)試的基本理論、JMeter基礎(chǔ)、JMeter高級(jí)擴(kuò)展,以及云上性能測(cè)試服務(wù) - XMeter等,敬請(qǐng)期待。

最后編輯于
?著作權(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)容

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