Jmeter
是一個非常流行的性能測試工具,雖然與LoadRunner相比有很多不足,比如:它結果分析能力沒有LoadRunner詳細;很它的優點也有很多:
l 開源,他是一款開源的免費軟件,使用它你不需要支付任何費用,
l 小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因為它是使用java開發的工具。
l 功能強大,jmeter設計之初只是一個簡單的web性能測試工具,但經過不段的更新擴展,現在可以完成數據庫、FTP、LDAP、WebService等方面的測試。因為它的開源性,當然你也可以根據自己的需求擴展它的功能。
我覺得它更像一個瑞士軍刀,小巧,且功能齊全。初次認識Jmeter的時候,我覺得它不好,是因為相比LR來說,它沒有腳本錄制功能,也許不是沒有,只是我不知道,因為文檔上介紹的是這樣,我要做一個web性能測試的話,就手動的一個個添加循環控制器、http信息管理頭、http請求等等各種元件。如果測試的腳本較多時,這無疑是個體力活。
Badboy
是一款不錯web自動化測試工具,利用它來錄制腳本,並且錄制的腳本可以直接保存為JMeter文件來使用。我無疑給我們帶來了很大我方便。
----------------------
我的環境------------
Badboy version 2.1.1
Apache JMeter-2.3.4 (
需要JDK環境來運行)
通過Badboy來錄制腳本
1.打開badboy ,點擊紅色按鈕,在地址欄輸入被測項目地址。

錄制完后,點擊旁邊的黑色按鈕結束錄制。
2.選擇文件,Export to Jmeter 保存.jmx類型文件
3.打開Jmter,打開“文件”->‘打開’選擇剛保存的.jmx類型文件。

使用Jmeter自身的代理錄制腳本
1.創建一個線程組

線程數:表示多少個用戶,即測試時的用戶數量
Ramp-up Period(in Seconds):表示每個用戶啟動的延遲時間,上述 設置為0秒,則表示立即啟動所有用戶,如果設置為100秒,那么系統將會在100秒結束前啟動這100個用戶,開始用戶的延遲為1秒。
循環次數:如果你要限定循環次數為5次的話,可以取消永遠的那個勾,然后在后面的文本框里面填寫5;勾上永遠,表示如果不停止或者限定時間將會一直執行下去, 是為了方便調度器的調用。
啟動時間:表示腳本開始啟動的時間,當不想立即啟動腳本,但是啟動腳本的時間不再電腦旁的時候,你可以設定一個啟動的時間,然后再運行那里點擊啟動,系統將不會立即運行,而是會等到你填寫的時間才開始運行。
結束時間:與啟動時間對應,表示腳本結束運行的時間
持續時間:表示腳本持續運行的時間,以秒為單位,比如如果你要讓用戶持續不斷登錄1個小時,你可以在文本框中填寫3600。如果在1小時以內,結束時間已經到達,它將會覆蓋結束時間,繼續執行。
Ramp-up Period(in Seconds):表示每個用戶啟動的延遲時間,上述 設置為0秒,則表示立即啟動所有用戶,如果設置為100秒,那么系統將會在100秒結束前啟動這100個用戶,開始用戶的延遲為1秒。
循環次數:如果你要限定循環次數為5次的話,可以取消永遠的那個勾,然后在后面的文本框里面填寫5;勾上永遠,表示如果不停止或者限定時間將會一直執行下去, 是為了方便調度器的調用。
啟動時間:表示腳本開始啟動的時間,當不想立即啟動腳本,但是啟動腳本的時間不再電腦旁的時候,你可以設定一個啟動的時間,然后再運行那里點擊啟動,系統將不會立即運行,而是會等到你填寫的時間才開始運行。
結束時間:與啟動時間對應,表示腳本結束運行的時間
持續時間:表示腳本持續運行的時間,以秒為單位,比如如果你要讓用戶持續不斷登錄1個小時,你可以在文本框中填寫3600。如果在1小時以內,結束時間已經到達,它將會覆蓋結束時間,繼續執行。
啟動延遲:表示腳本延遲啟動的時間,在點擊啟動后,如果啟動時間已經到達,但是還沒有到啟動延遲的時間,那么,啟動延遲將會覆蓋啟動時間,等到啟動延遲的時間到達后,再運行系統。
2.創建http代理服務器(點擊工作台WorkBench,Add->Non-Test Elements->HTTP(S)Test Script Recorder)
3.設置瀏覽器代理服務器,設置好了在瀏覽器中訪問需要錄制的web項目地址,就可以錄制。

Jmeter中的錄制的腳本會看上去比較亂,有時需要排除模式過濾

錄制的腳本中有很多冗余的URL,要精簡腳本,保證有效的URL發給服務器
