您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Java進階??使用JMeter進行壓力測試
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2012/12/6 15:37:03 ] 推薦標簽:

JMeter是apache的jakarta上面的項目,用于軟件的壓力測試(Load Test),不但可以對HTTP,也可以對數(shù)據(jù)庫(通過JDBC)、FTP、Web Service、Java 對象等等進行壓力測試。

項目地址:http://jakarta.apache.org/jmeter

使用: 運行bin目錄下的jmeterw.bat,運行jmeter.bat也可以,不過會有一個命令窗口顯示。

要提醒一下的是jmeter根據(jù)當前系統(tǒng)的locale顯示菜單的語言,為了方便想設置回英文的話,可以修改jmeter.properties文件,設置language=en (我下載的2.1.1版本把“退出”誤譯為“推出”,怎么看都不順眼 )

使用:

JMeter的測試計劃(Test Plan)呈樹狀結構,樹里面有多種元素類型,樹狀結構的元素之間有的是有繼承關系的(其原理有點類似log4j)。下面簡述一下元素類型:

1、ThreadGroup
顧名思義是線程組,測試必須有一個ThreadGroup元素作為基礎(否則沒有測試線程在跑了),這個元素可以配置跑多少個線程、每個線程循環(huán)多少次,所有線程數(shù)的總啟動時間(Ramp-up period)等等。

2、Controller
包括Logical Controller和Sampler,前者用來作一些邏輯上的控制,例如輪換、條件、循環(huán)等等。Sampler是真正“干活”的“取樣器”,例如“HTTP Request”,是拿來執(zhí)行一個HTTP請求的。

3、Listener
Listener對請求過程進行監(jiān)聽,可以簡單理解為獲取結果的東東。例如Simple Data Writer,可以把結果寫到一個文本文件里(其實所有Listener都可以寫數(shù)據(jù)到文件里),還有View Results in Table,是把結果顯示在表格里。

4、 Timer
用來控制執(zhí)行流程中的時間延遲等功能。

5、 Assertion
斷言,加到Sampler里面可以對返回的結果進行判斷,例如判斷HTTP返回結果里面是否含有某個字符串。如果斷言為真,JMeter會標記請求為成功,否則標記為失敗。

6、 Configuration Element
配置用的元素,很有用。由于測試計劃是樹狀和有繼承關系的,可以在高層次指定一個Configuration Element,低層次的相關Sampler如果沒有顯式地指定配置,繼承高層次的配置信息。(跟log4j很像吧?)


7、 Pre-Processor/Post-Processor Elements
用來在Sampler運行前和運行后作一些預處理和后處理工作的。例如動態(tài)修改請求的參數(shù)(預處理),從返回信息里面提取信息(后處理)等等。

舉例:要做一個簡單的HTTP壓力測試: 用10個線程訪問一個URL,每個線程訪問100次。
做法:
1、 在Test Plan下面加一個Thread Group,配置里面,線程數(shù)填10,循環(huán)次數(shù)填100
2、 在Thread Group下面加一個HTTP Request,這是一個Sampler,在它的配置里面填寫主機信息,端口、協(xié)議、路徑、參數(shù)等信息
3、 在HTTP Request下面加一個View Results in Table,如果你想把記錄記到文件,則填寫文件路徑。
4、 保存一些這個Test Plan,可以選擇Run菜單下面的Run來運行了。直到Run菜單項從灰色變回黑色,表示運行完了。在View Results in Table下面,你可以看到運行結果。

關于元素的詳細描述可以參考官方文檔。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd