Jmeter(一)工具的簡單介紹

一、JMeter介紹

Apache JMeter是100%純JAVA桌面應用程序,被設計為用于測試客戶端/服務端結構的軟件(例如web應用程序)。它可以用來測試靜態和動態資源的性能,例如:靜態文件,Java Servlet,CGI Scripts,Java Object,數據庫和FTP服務器等等。JMeter可用于模擬大量負載來測試一臺服務器,網絡或者對象的健壯性或者分析不同負載下的整體性能。

同時,JMeter可以幫助你對你的應用程序進行回歸測試。通過你創建的測試腳本和assertions來驗證你的程序返回了所期待的值。為了更高的適應性,JMeter允許你使用正則表達式來創建這些assertions.

JMeter與LoadRunner比較

JMeter?是一款開源(有著典型開源工具特點:界面不美觀)測試工具,雖然與LoadRunner相比有很多不足,比如:它結果分析能力沒有LoadRunner詳細;很它的優點也有很多:

開源,他是一款開源的免費軟件,使用它你不需要支付任何費用,

小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因為它是使用java開發的工具。

功能強大,jmeter設計之初只是一個簡單的web性能測試工具,但經過不段的更新擴展,現在可以完成數據庫、FTP、LDAP、WebService等方面的測試。因為它的開源性,當然你也可以根據自己的需求擴展它的功能。

兩者最大的區別:jmeter不支持IP欺騙,而LR支持。

JMeter缺點

使用JMeter無法驗證JS程序,也無法驗證頁面UI,所以要須要和Selenium配合來完成Web2.0應用的測試。

二、JMeter?下載安裝

1)JMeter安裝

1. http://jmeter.apache.org/下載最新版本的JMeter,解壓文件到任意目錄

2.?安裝JDK,配置環境變量JAVA_HOME.

3.?系統要求:JMeter2.11 需要JDK1.6以上的版本支持運行

4.?JMeter可以運行在如下操作系統上:Unix,Windows和Open VMS.

5.避免在一個有空格的路徑安裝JMeter,這將導致遠程測試出現問題。

2)JMeter插件安裝

1.?插件下載地址:http://jmeter-plugins.org/downloads/all/

2.?插件下載后解壓:找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-jmeter-2.12\lib\ext目錄。

三、JMeter運行

1. 進入bin目錄運行jmeter.bat啟動jmeter

注意:打開的時候會有兩個窗口,JMeter的命令窗口和JMeter的圖形操作界面,不可以關閉命令窗口。

2.?JMeter的classpath:

如果你想添加其他JAR文件到JMeter的classpath中,你必須復制他們到lib目錄中;

如果你開發了一個JMeter特定組件或有效的jar文件,復制到lib目錄下的ext目錄中。

3. 打開之后顯示的是中文,如果你想使用其他語言,比如英文,那么通過菜單選項->選擇語言->英文即可,當然轉為中文也是同樣操作。

四、JMeter測試計劃元件

打開Jmeter頁面:包括測試計劃+工作臺。

1、Test?Plan?(測試計劃):用來描述一個性能測試,包含與本次性能測試所有相關的功能。也就說本的性能測試的所有內容是于基于一個計劃的。

右鍵單擊“測試計劃”彈出菜單:

注意

“函數測試模式”復選框,如果被選擇,它會使Jmeter記錄來自服務器返回的每個

取樣的數據。如果你在測試監聽器中選擇一個文件,這個數據將被寫入文件。如果你嘗試一個較小的測試來保證Jmeter配置正確并且你的服務器正在返回期望

的結果,這是很有用的。這樣做的后果就是這個文件會快速的增大,并且Jmeter的效率會影響。

如果不記錄數據到文件,這個選項就沒有不同了。

2、Threads?(Users)線程?用戶

雖然有三個添加線程組的選項,名字不一樣,?創建之后,其界面是完全一樣的。之前的版本只有一個線程組的名字?,F在多一個setUp?theread?Group?與terDown?Thread?Group

1)?setup?thread?group

一種特殊類型的ThreadGroup的,可用于執行預測試操作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試前進行定期線程組的執行。

setUp Thread Group類似于lr的init.可用于執行預測試操作。

2)?teardown?thread?group.

一種特殊類型的ThreadGroup的,可用于執行測試后動作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試結束后執行定期的線程組。

tearDown Thread Group類似于lr的end.可用于執行測試后動作。

3)?thread?group(線程組).

這個就是我們通常添加運行的線程。通俗的講一個線程組,,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。線程組中包含的線程數量在測試執行過程中是不會發生改變的。

線程組:

名稱:就如字面意思,起個有意義的名字就行

注釋:

線程數:這里選擇5

Ramp-Up Period:單位是秒,默認時間是1秒。它指定了啟動所有線程所花費的時間,比如,當前的設定表示“在5秒內啟動5個線程,每個線程的間隔時間為1秒”。如果你需要Jmeter立即啟動所有線程,將此設定為0即可

循環次數:表示每個線程執行多少次請求。

3、測試片段(Test?Fragment)

測試片段元素是控制器上的一個種特殊的線程組,它在測試樹上與線程組處于一個層級。它與線程組有所不同,因為它不被執行,除非它是一個模塊控制器或者是被控制器所引用時才會被執行。

控制器

JMeter有兩種類型的控制器:取樣器(sample)和邏輯控制器(Logic?Controller),用這些原件來驅動處理一個測試。

4、取樣器(Sampler)

取樣器(Sampler)是性能測試中向服務器發送請求,記錄響應信息,記錄響應時間的最小單元,JMeter?原生支持多種不同的sampler?,

如?HTTP?Request?Sampler?、?FTP??Request?Sampler 、TCP??Request?Sampler 、

JDBC?Request?Sampler?等,每一種不同類型的?sampler?可以根據設置的參數向服務器發出不同類型的請求。

在Jmeter的所有Sampler中,Java Request Sampler與BeanShell Requst Sampler是兩種特殊的可定制的Sampler.

5、邏輯控制器(Logic?Controller)

邏輯控制器,包括兩類無件,一類是用于控制test?plan?中?sampler?節點發送請求的邏輯順序的控制器,常用的有?如果(If)控制器?、

switch?Controller?、Runtime?Controller、循環控制器等。另一類是用來組織可控制?sampler?來節點的,

如?事務控制器、吞吐量控制器。

6、配置元件(Config?Element)

配置元件(config?element)用于提供對靜態數據配置的支持。CSV?Data?Set?config?可以將本地數據文件形成數據池

(Data?Pool),而對應于HTTP?Request?Sampler和?TCP?Request?Sampler等類型的配制無件則可以修改

Sampler的默認數據。

例如,HTTP?Cookie?Manager?可以用于對?HTTP?Request?Sampler?的 cookie?進行管理。

HTTP 請求默認值不會觸發Jmeter發送http請求,而只是定義HTTP請求的默認屬性。

7、定時器(Timer)

定時器(Timer)用于操作之間設置等待時間,等待時間是性能測試中常用的控制客戶端QPS的手段。類似于LoadRunner里面的“思考時間”。 JMeter?定義了Bean?Shell?Timer、Constant?Throughput?Timer、固定定時器等不同類型的Timer。

8、前置處理器(Per?Processors)

前置處理器用于在實際的請求發出之前對即將發出的請求進行特殊處理。例如,HTTP?URL重寫修復符則可以實現URL重寫,當RUL中有sessionID?一類的session信息時,可以通過該處理器填充發出請求的實際的sessionID?。

9、后置處理器(Post?Processors)

后置處理器是用于對Sampler?發出請求后得到的服務器響應進行處理。一般用來提取響應中的特定數據(類似LoadRunner測試工具中的關聯概

念)。例如,XPath??Extractor?則可以用于提取響應數據中通過給定XPath?值獲得的數據;正則表達式提取器,則可以提取響應數據中通

過正則表達式獲得的數據。

10、斷言(Assertions)

斷言用于檢查測試中得到的相應數據等是否符合預期,斷言一般用來設置檢查點,用以保證性能測試過程中的數據交互是否與預期一致。

11、監聽器(Listener)

這個監聽器可不是用來監聽系統資源的元件。它是用來對測試結果數據進行處理和可視化展示的一系列元件。圖形結果、查看結果樹、聚合報告、用表格察看結果都是我們經常用到的元件。

五、工作臺

在測試中我們可能需要暫時更改一些組件,可以把一些需要更改的組件保存在工作臺中,測試完成后再恢復,但是切記:不能退出jmeter.一旦退出jmeter,工作臺中的內容就會消失。

1、工作臺-非測試元件-Property Display,此元件相當于是jmeter.properties的GUI。

六、幫助

http://jmeter.apache.org/usermanual/component_reference.html

最好的幫助是:菜單-“幫助”-“幫助”。

到此,我們已經簡單了解了jmeter的基本組成原件,我們后序的測試工作也就是使用這些元件來完成測試任務。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,701評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,691評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,974評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,694評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,026評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,193評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,719評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,442評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,668評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,846評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,255評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,592評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,394評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容

  • 在使用Jmeter進行接口的性能測試時,由于Jmeter 是JAVA應用,對于CPU和內存的消耗比較大,所以,當需...
    燕京博士閱讀 4,196評論 0 16
  • 裝好Jmeter以后,打開Jmeter頁面:包括測試計劃+工作臺。1、Test Plan (測試計劃):用來描述一...
    CC先生之簡書閱讀 1,036評論 0 2
  • 一、基本概念 1.測試計劃是使用 JMeter 進行測試的起點,它是其它 JMeter 測試元件的容器。 2.線程...
    Leo_0626閱讀 2,303評論 0 10
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 2,959評論 0 8
  • 顧名思義,白日夢就是大白天醒著的狀態下的胡思亂想,跟夜里做夢有些相似。當一個人只做那些不切實際的想法,而不在現實中...
    阿YAO閱讀 1,234評論 19 16