測試工具之Jmeter(創建一個簡單測試用例)
前面介紹了如何使用badboy錄制jmeter腳本,以及如何導入腳本並進行測試
這裏介紹下手動創建測試用例,主要步驟如下:
1、創建線程組
第一次打開Jmeter只有一個測試計劃,右鍵“測試計劃”選擇“添加” -> “Threads” -> “線程組”,即可得到如下配置界面:
名稱:即這個線程組的名字
註釋:對這個線程組的註釋
在取樣器執行錯誤後的操作:根據需要勾選後續執行情況,一般都會選擇繼續
線程數:即總的測試次數(模擬的用戶操作)
Ramp-up period:執行完所有線程數所用的時間,比如線程數為100,執行時間設置為20秒,那麽每秒應該會增加5個用戶操作。
如果沒有指定時間,則Jmeter會立即建立所有線程(啟動所有線程數的用戶操作)
循環次數:表示這個線程組需要執行多少個循環,如果選擇“永遠”,那就一直執行下去,除非手動停止
Delay Thread Creation until needed:看了官方的解釋和自己實際應用,意思應該如下:
當線程需要執行的時候,才會被創建。如果不選擇這個選項,那麽,在計劃開始的時候,所有需要的線程就都被創建好了
調度器:勾選後,下面的“調度器配置”就可以填寫相關信息
調度器配置.持續時間:即每個線程執行的時間,即模擬用戶的在線時長
調度器配置.啟動延時:即這個測試用例在開始後多長時間開始執行
調度器配置.啟動時間:測試計劃開始後,在什麽時間開始執行。開始執行後還是會有上面的啟動延時存在(如果啟動延時配置了)
調度器配置.結束時間:測試計劃結束的時間,到時間後,會停止所有線程
2、創建取樣器
在取樣器中選擇“http請求”,並配置訪問baidu網頁,如下:
名稱:給取樣器取個名字
註釋:對取樣器進行註釋
Basic.Web服務器.服務器名稱或IP:這裏填寫百度網址即可
Basic.Web服務器.端口號:http默認端口號80,如果是其他自定義的端口,直接填寫即可
Basic.Web服務器.Timeouts.Connect:連接超時時間
Basic.Web服務器.Timeouts.Response:響應超時時間
Advanced.Embedded Resources from HTML Files:如果勾選了,則會下載所有資源
Advanced.Source Address:一般用於IP欺騙(Implementation為HTTPClient有效)
Basic.HTTP請求.Implementation:默認是HttpClient4
Basic.HTTP請求.協議:根據實際情況填寫。這裏填http
Basic.HTTP請求.方法:get。方法有很多,一般用得比較多的是get和post
Basic.HTTP請求.Content encoding:編碼方式
Basic.HTTP請求.路徑:域名後面部分。這裏我們訪問的是百度首頁,不用填寫
Basic.HTTP請求.自動重定向:只支持GET,HEAD方法。 如果請求有重定向的話,會只顯示終的結果,Jmeter 不會顯示重定向的過程
Basic.HTTP請求.跟隨重定向:與“自動重定向”之前只能選擇一個。如果請求有重定向的話, Jmeter 會顯示重定向的過程
Basic.HTTP請求.Use Keep Alive:直接勾選即可
Basic.HTTP請求.Use multipart/form-data for HTTP POST:當需要上傳文件時需要勾選
Basic.HTTP請求.Browser-compatible headers:當勾選了Use multipart/form-data for HTTP POST後,可以選擇這個,
可以保證不受HTTP信息頭管理器設置的Content-Type 和Content-Transfer-Encoding 影響
Basic.HTTP請求.Parameters:http消息請求的參數。參數值包含特殊字符比如’&’,jmeter會自動轉義為’%26’
Basic.HTTP請求.Body:使用文本形式發送請求參數。一般是json或xml
Basic.HTTP請求.Files Upload:文件名稱: 要上傳的文件,包括路徑 2. 參數名稱: 請求參數名稱 3. MIME類型:MIME type (for example, text/plain)
Basic.Proxy server:代理服務器設置
這樣測試用例就寫好了,可以執行了,執行完成後,點擊下面紅框(或菜單“選項” -> Log Viewer)可以顯示執行日誌:
這裏沒看出報錯,我們再添加監聽器(查看結果樹),再執行以下,看到報錯了:
看報錯信息,Jmeter把我們設置的網址又加了一個http://,也就是Jmeter不需要我們去加這個頭,我們直接去掉再測試一遍:
這時候看到正常了~,一個簡單的測試用例就完成了,這裏我們也可以加個斷言,判斷響應返回碼是否為正確的(200為正常):
重新執行一下,通過。如果這裏隨便填個,可能就會執行失敗
測試工具之Jmeter(創建一個簡單測試用例)