當(dāng)你利用Badboy將你的測試腳本錄制完畢后,接下來是腳本的調(diào)試工作了。
在我看來,調(diào)試應(yīng)該包括有以下幾個(gè)方面:
1.根據(jù)測試場景對腳本進(jìn)行必要的修改;
2.腳本參數(shù)化;
3.添加適當(dāng)?shù)腖istener,進(jìn)行測試結(jié)果的簡單收集
講到的是腳本的參數(shù)化問題。
在Jmeter里面,可以利用的對Request進(jìn)行配置的組件都包含在Configuration Elements中。
其中CSV Data Set Config是我們講的主角。
假如,現(xiàn)在要測試某個(gè)網(wǎng)站的Search的性能,于是你錄制了一個(gè)search的HTTP Request。
利用Jmeter打開后可以看到錄制腳本中,search的字段是參數(shù)名字為p,如下圖:
參數(shù)化Step 1:將HTTP Request需要參數(shù)化的項(xiàng)的Value處,用${參數(shù)名}代替;如:將p的Value修改為${Searchitem}
參數(shù)化Step 2:在名叫Step 1的Simple Concoller中添加CSV Data Set Config
參數(shù)化Step 3:設(shè)置CSV Data Set Config
Filename --- 參數(shù)項(xiàng)文件
File Encoding --- 文件的編譯方法,一般為空
Vaiable Names --- 文件中各列所表示的參數(shù)項(xiàng);各參數(shù)項(xiàng)之間利用逗號(hào)分隔;參數(shù)項(xiàng)的名稱應(yīng)該與HTTP Request中的參數(shù)項(xiàng)一致。
Delimiter --- 如文件中使用的是逗號(hào)分隔,則填寫逗號(hào);如使用的是TAB,則填寫 ;
Recycle on EOF? --- True=當(dāng)讀取文件到結(jié)尾時(shí),再重頭讀取文件
False=當(dāng)讀取文件到結(jié)尾時(shí),停止讀取文件
Stop thread on EOF? --- 當(dāng)Recycle on EOF?一項(xiàng)為False時(shí)起效;True=當(dāng)讀取文件到結(jié)尾時(shí),停止進(jìn)程
完成這三步之后,腳本的參數(shù)化大功告成了。
其實(shí),在我看來大部分的測試軟件的參數(shù)化都是類似的,都是將需要參數(shù)化的項(xiàng)目用符號(hào)替代,然后通過定義參數(shù)文件中的各項(xiàng)來達(dá)到參數(shù)化的目的。
相比起Jmeter2.2版本,CSV Data Set Config添加了File Encoding(個(gè)人認(rèn)為沒有什么用);參數(shù)間分隔符多了Tab;Stop thread on EOF?
還有補(bǔ)充說明一下,在Jmeter中除了可以為HTTP Request進(jìn)行參數(shù)化,還可以給其他的請求做參數(shù)化,做法都是類似的。