您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Jmeter使用之腳本錄制回放
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2012/11/30 10:36:26 ] 推薦標(biāo)簽:

 
近一直在用LoadRunner做測試,同時也不忘用Jmeter來實(shí)現(xiàn)比較復(fù)雜的場景。把我使用中的一些小小技巧做一說明,以備忘。
 1、啟動。
 剛才在家里的機(jī)器上下載安裝了Jmeter2.02版,啟動時總是提示“Error oclearcase/" target="_blank" >ccurred during initialization of VM   Could not reserve enough space for object heap”,完了,128M的內(nèi)存跑不起來一個小小的Jmeter :(。怎么辦?修改Jmeter的啟動參數(shù)“set HEAP=-Xms256m -Xmx256m”“


set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m”,改256->56,128->28。這里只是一個小小的插曲,實(shí)際使用時不要這么改哦。好了,可以啟動了:)
 2、下面說Jmeter中的腳本錄制。
 (1)選中Test Plan單擊鼠標(biāo)右鍵,在彈出菜單中選擇Add->Thread Group;
 (2)接下來選中WorkBench單擊鼠標(biāo)右鍵,在彈出菜單中選擇Add->Non-Test Elements->HTTP Proxy Server;
 (3)在“HTTP Proxy Server”窗口中Target Controller下拉框選擇Test Plan > Thread Group(表示腳本生成在這個線程組下),Grouping下拉框選擇Put each group in a new controller(表示把每組腳本放到一個新的組中,避免生成的腳本雜亂且無法組織);
 (4)單擊窗口下方的Start;
 (5)打開瀏覽器,設(shè)置代理服務(wù)器的設(shè)置為localhot,端口號為8080(在“HTTP Proxy Server”窗口中設(shè)置了使用8080端口進(jìn)行偵聽);
 (6)在地址中鍵入要錄制頁面的URL對頁面進(jìn)行操作,Jmeter會自動把所進(jìn)行的操作錄制成為腳本了,可以看到Thread Group節(jié)點(diǎn)下面多了許多的子節(jié)點(diǎn)是錄制生成的腳本;
 (7)操作完畢后在Jmeter中單擊Stop先停止錄制,然后把瀏覽器的代理設(shè)置改為原來的設(shè)置即可。
 3、運(yùn)行及記錄結(jié)果設(shè)置
 (1)完成腳本的錄制后還需要定義你所需的結(jié)果設(shè)置才算完成了Test Plan的設(shè)置,首先要設(shè)置Thread Group(相當(dāng)于虛擬用戶組)的屬性,單擊Thread Group,在右邊的窗口中設(shè)置Number of Thread(相當(dāng)于虛擬用戶數(shù))為5,Ramp-Up Period(in seconds)為1,Loop Cout選項(xiàng)取消選中Forever,在右邊的框中輸入2。以上設(shè)置表示共有5個虛擬用戶,每隔1秒運(yùn)行一個,迭代2次。
 (2)要查看運(yùn)行的結(jié)果還需要加入Listener,選中Thread Group單擊鼠標(biāo)右鍵選擇Listener->View Results in Table,通過這個視圖可以查看到每個鏈接的執(zhí)行情況,包括執(zhí)行時間和成功與否,再加入Aggregate Report,通過這個視圖可以查看每個Thread Group組的大、小和平均響應(yīng)時間。加入View Results Tree,通過這個視圖可以查看每個鏈接的執(zhí)行情況,包括發(fā)出的請求和服務(wù)器返回的詳細(xì)內(nèi)容。
 (3)OK,所有的設(shè)置暫到此結(jié)束,接下載可以運(yùn)行了。
 4、運(yùn)行及結(jié)果查看
 (1)OK,運(yùn)行看看吧,由于設(shè)置運(yùn)行時間較短,所以先選擇View Results in Table,然后按下Ctrl+r鍵開始運(yùn)行腳本,可以看到每個請求的運(yùn)行結(jié)果了,還可以單擊其他兩個結(jié)果視圖實(shí)時查看運(yùn)行結(jié)果。
 說了這么多相信讀者已經(jīng)對這個工具有些感性的認(rèn)識了吧,簡單、便捷、跨平臺、隨手拈來即可使用,是它大的有點(diǎn)(占內(nèi)存是Java無法避免的,出現(xiàn)先一幕)。不過我的本意是想說說使用使用Jmeter進(jìn)行查詢內(nèi)容參數(shù)化的,沒想到簡單使用也花費(fèi)了這么多篇幅,那只有下一節(jié)再敘了?偟母杏X這個工具比較“爽”。
中文站點(diǎn):http://www.bonoy.com/jmeter/
本文原在我的另一個blog上,因?yàn)橐呀?jīng)不用那個了,所以再次貼到這里來。這里再附上我使用的一段腳本——設(shè)置瀏覽器代理服務(wù)器的腳本,功能是設(shè)置代理服務(wù)器為localhost,端口為8080,并打開一個瀏覽器實(shí)例,關(guān)閉該實(shí)例則取消代理服務(wù)器的設(shè)置。注意:此腳本在我的機(jī)器上運(yùn)行通過的,如果您要使用請自己修改,由于是對注冊表的操作,所以請不熟悉的朋友慎用,或者使用其他有類似功能的軟件。
'*******************************************************************************
'腳本說明:使用本腳本可以設(shè)置代理為localhost:8080,關(guān)閉瀏覽器后自動取消代理設(shè)置。
'創(chuàng) 建 人:wyingquan at hotmail dot com
'創(chuàng)建時間:2004-11-24 星期三
'*******************************************************************************
'保存當(dāng)前設(shè)置
Set reg=WScript.CreateObject("WScript.Shell")
'設(shè)置瀏覽器使用代理,服務(wù)器名localhost,端口號8080
reg.regwrite  "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet SettingsProxyEnable",1,"REG_DWORD"
reg.regwrite  "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet SettingsProxyServer","localhost:8080","REG_SZ"
reg.regwrite  "HKLMSYSTEMControlSet001Hardware ProfilesCurrentSoftwareMicrosoftwindowsCurrentVersionInternet Settings",1,"REG_DWORD"
reg.regwrite  "HKLMSYSTEMControlSet001Hardware Profiles