天天看點

JMeter工具簡單介紹

一、JMeter介紹

Apache JMeter是100%純JAVA桌面應用程式,被設計為用于測試用戶端/服務端結構的軟體(例如web應用程式)。它可以用來測試靜态和動态資源的性能,例如:靜态檔案,Java Servlet,CGI Scripts,Java Object,資料庫和FTP伺服器等等。JMeter可用于模拟大量負載來測試一台伺服器,網絡或者對象的健壯性或者分析不同負載下的整體性能。同時,JMeter可以幫助你對你的應用程式進行回歸測試。通過你建立的測試腳本和assertions來驗證你的程式傳回了所期待的值。為了更高的适應性,JMeter允許你使用正規表達式來建立這些assertions.

JMeter與LoadRunner比較

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

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

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

3.功能強大,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目錄中。

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

四、JMeter測試計劃元件

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

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

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

JMeter工具簡單介紹

image

注意:

“函數測試模式”複選框,如果被選擇,它會使Jmeter記錄來自伺服器傳回的每個取樣的資料。如果你在測試監聽器中選擇一個檔案,這個資料将被寫入檔案。如果你嘗試一個較小的測試來保證Jmeter配置正确并且你的伺服器正在傳回期望的結果,這是很有用的。這樣做的後果就是這個檔案會快速的增大,并且Jmeter的效率會影響。

如果不記錄資料到檔案,這個選項就沒有不同了。

2、Threads(Users)線程使用者

JMeter工具簡單介紹

雖然有三個添加線程組的選項,名字不一樣,建立之後,其界面是完全一樣的,之前的版本隻有一個線程組的名字。現在多一個setUptheread Group與terDown Thread Group

  1. setup thread group

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

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

  1. teardown thread group

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

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

  1. thread group(線程組).

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

JMeter工具簡單介紹

線程組:

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

注釋:

線程數:這裡選擇5

Ramp-Up Period:機關是秒,預設時間是1秒。它指定了啟動所有線程所花費的時間,比如,目前的設定表示“在5秒内啟動5個線程,每個線程的間隔時間為1秒”。如果你需要Jmeter立即啟動所有線程,将此設定為0即可

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

3、測試片段(Test Fragment)

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

JMeter工具簡單介紹

控制器

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 RequstSampler是兩種特殊的可定制的Sampler.

JMeter工具簡單介紹

5、邏輯控制器(Logic Controller)

邏輯控制器,包括兩類無件,一類是用于控制test plan 中 sampler節點發送請求的邏輯順序的控制器,常用的有如果(If)控制器 、switch Controller 、Runtime Controller、循環控制器等。另一類是用來組織可控制sampler 來節點的, 如事務控制器、吞吐量控制器。

JMeter工具簡單介紹

6、配置元件(Config Element)

配置元件(config element)用于提供對靜态資料配置的支援 CSV Data Set config 可以将本地資料檔案形成資料池 (Data Pool),而對應于HTTP Request Sampler和TCP Request Sampler等類型的配制無件則可以修改 Sampler的預設資料。

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

HTTP 請求預設值不會觸發Jmeter發送http請求,而隻是定義HTTP請求的預設屬性。

JMeter工具簡單介紹

7、定時器(Timer)

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

JMeter工具簡單介紹

8、前置處理器(Per Processors)

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

JMeter工具簡單介紹

9、後置處理器(Post Processors)

後置處理器是用于對Sampler送出請求後得到的伺服器響應進行處理。一般用來提取響應中的特定資料(類似LoadRunner測試工具中的關聯概念)。例如,Xpath Extractor 則可以用于提取響應資料中通過給定Xpath 值獲得的資料;正規表達式提取器,則可以提取響應資料中通過正規表達式獲得的資料。

JMeter工具簡單介紹

10、斷言(Assertions)

斷言用于檢查測試中得到的相應資料等是否符合預期,斷言一般用來設定檢查點,用以保證性能測試過程中的資料互動是否與預期一緻。

JMeter工具簡單介紹

11、監聽器(Listener)

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

JMeter工具簡單介紹

五、工作台

JMeter工具簡單介紹

在測試中我們可能需要暫時更改一些元件,可以把一些需要更改的元件儲存在工作台中,測試完成後再恢複,但是切記:不能退出jmeter.一旦退出jmeter,工作台中的内容就會消失。