HTTP請求參數化:就是把URL的參數項做參數化處理
我們現在要對子猴博客來進行一番壓力測試,壓力測試對象為隨機的幾個網頁鏈接,這幾個鏈接是寫在一個文本文件中的,在壓力測試的時候會隨機讀取。
1、 建立一個線程組,如下圖
線程數60,循環次數:1000.
2、 設置請求服務器、壓力鏈接等信息
右鍵點擊我們剛創建的線程組,在彈出的菜單中,選擇添加->Sampler->Http請求,彈出如下圖界面:
服務器名稱或IP:我這里填寫 www.zihou.me
端口號:我這里填寫80
Timesout部分可以不填
HTTP請求部分的協議:http,方法我選擇的是GET,Content encoding我填的是UTF-8.
路徑:/${__StringFromFile(C:\Users\paul\Desktop\test.txt,,,)}
這里值得一提的就是這個路徑,假如你只是對一個鏈接進行壓力測試,那么這里就非常簡單了,你就直接填寫一個鏈接就夠了,比如 http://www.zihou.me,但很多情況下都不是這樣的,我們這里需要多個鏈接,就如同剛開始講到的那樣,我們要將多個鏈接保存到一個文本文 件中,然后隨機讀取進行壓力測試。我們可以這么干,如圖:
點擊菜單欄“選項”---->函數助手對話框,在選擇一個功能下拉列表中選擇_StringFromFile,然后在本機新建一個測試文件text.txt,在第一行(你也可以不在第一行)的值中填寫測試文件的路徑,如下圖:
然后點擊“生成”按鈕,在生成按鈕的左邊文本框中將生成一個字符串如:
${__StringFromFile(E:\test\test.txt,,,)}
在測試文件中,我們每行寫一個URL鏈接,如下格式:
2011/03/26/3054
2011/03/26/3052
2011/03/26/3042
2011/03/25/3040
2011/03/25/3034
2011/03/24/3027
注 意,每行前面並沒有http://www.zihou.me這樣的信息,因為我們在前面已經填寫了服務器地址為zihou.me,這里就沒必要再為每個 url填寫這個相同前綴了;另外,上面的url格式也只是個例子,表示域名后的部分,但很多時候url后面跟的都是各參數,比如 http://www.zihou.me/p?a=1&b=3,如果是這種情況,則上面的鏈接可以寫為:
a=1&b=3這樣的形式。
這樣一來,當我們並非請求的時候,就會從test.txt中隨機選擇url來進行壓力測試。
另外值得注意的一個地方是,如果參數中有中文的情況,運行的時候可能會出現亂碼,這個時候就需要注意你在Jmeter中的編碼設置與你要請求的網頁編碼是一致的。
路徑文本框下面的選項,可以按默認的就成,Use multipart/form-data for HTTP POST是當請求中有附件的情況,一般情況下都不用選中的。