資源描述:
《JMeter測試Web應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、2.1測試環(huán)境作者使用了Tomcat作為Web服務(wù)器進(jìn)行測試,被測試的內(nèi)容是一個(gè)jsp文件和一個(gè)servlet,jsp文件調(diào)用JavaBean、打印相關(guān)信息,servlet接受用戶參數(shù)、調(diào)用javabean、輸出相關(guān)信息。詳細(xì)的內(nèi)容請(qǐng)參考作者提供的JMeter.war的內(nèi)容。2.2安裝啟動(dòng)JMeter大家可以到通過http://apache.linuxforum.net/dist/jakarta/jmeter/binaries/jakarta-jmeter-1.9.1.zip下載JMeter的release版本,然后將下載的.zip文件
2、解壓縮到C:/JMeter(后面的文章中將使用%JMeter%來引用這個(gè)目錄)目錄下?,F(xiàn)在,請(qǐng)使用%JMeter%/bin下面的jmeter.bat批處理文件來啟動(dòng)JMeter的可視化界面,下面的工作都將在這個(gè)可視化界面界面上進(jìn)行操作。下面的圖片是JMeter的可視化界面的屏幕截圖。圖一:JMeter打開時(shí)的屏幕截圖2.3建立測試計(jì)劃(TestPlan)測試計(jì)劃描述了執(zhí)行測試過程中JMeter的執(zhí)行過程和步驟,一個(gè)完整的測試計(jì)劃包括一個(gè)或者多個(gè)線程組(ThreadGroups)、邏輯控制(LogicController)、實(shí)例產(chǎn)生控制器
3、(SampleGeneratingControllers)、偵聽器(Listener)、定時(shí)器(Timer)、比較(Assertions)、配置元素(ConfigElements)。打開JMeter時(shí),它已經(jīng)建立一個(gè)默認(rèn)的測試計(jì)劃,一個(gè)JMeter應(yīng)用的實(shí)例只能建立或者打開一個(gè)測試計(jì)劃。現(xiàn)在我們開始填充一個(gè)測試計(jì)劃的內(nèi)容,這個(gè)測試計(jì)劃向一個(gè)jsp文件和一個(gè)servlet發(fā)出請(qǐng)求,我們需要JMeter模擬五個(gè)請(qǐng)求者(也就是五個(gè)線程),每個(gè)請(qǐng)求者連續(xù)請(qǐng)求兩次,下面的章節(jié)介紹了詳細(xì)的操作步驟。2.4增加負(fù)載信息設(shè)置這一步,我們將向測試計(jì)劃中增
4、加相關(guān)負(fù)載設(shè)置,是Jmeter知道我們需要模擬五個(gè)請(qǐng)求者,每個(gè)請(qǐng)求者在測試過程中連續(xù)請(qǐng)求兩次。詳細(xì)步驟如下:1.選中可視化界面中左邊樹的TestPlan節(jié)點(diǎn),單擊右鍵,選擇Add'ThreadGroup,界面右邊將會(huì)出現(xiàn)他的設(shè)置信息框。2.ThreadGroup有三個(gè)和負(fù)載信息相關(guān)的參數(shù):NumberofThreads:設(shè)置發(fā)送請(qǐng)求的用戶數(shù)目Ramp-upperiod:每個(gè)請(qǐng)求發(fā)生的總時(shí)間間隔,單位是秒。比如你的請(qǐng)求數(shù)目是5,而這個(gè)參數(shù)是10,那么每個(gè)請(qǐng)求之間的間隔就是10/5,也就是2秒LoopCount:請(qǐng)求發(fā)生的重復(fù)次數(shù),如果選擇
5、后面的forever(默認(rèn)),那么請(qǐng)求將一直繼續(xù),如果不選擇forever,而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù)指定的次數(shù),如果輸入0,那么請(qǐng)求將執(zhí)行一次。根據(jù)我們演示例子的設(shè)計(jì),我們應(yīng)該將NumberofThreads設(shè)置為5,Ramp-upperiod設(shè)置為0(也就是同時(shí)并發(fā)請(qǐng)求),不選中forever,在LoopCount后面的輸入框中輸入2,設(shè)置后的屏幕截圖如下:圖二:設(shè)置好參數(shù)的ThreadGroup。2.5增加默認(rèn)Http屬性(可選)實(shí)際的測試工作往往是針對(duì)同一個(gè)服務(wù)器上Web應(yīng)用展開的,所以Jmeter提供了這樣一種設(shè)置,
6、在默認(rèn)Http屬性設(shè)置需要被測試服務(wù)器的相關(guān)屬性,以后的http請(qǐng)求設(shè)置中就可以忽略這些相同參數(shù)的設(shè)置,減少設(shè)置參數(shù)錄入的時(shí)間。我們這里將采用這種屬性。你可以通過下面的步驟來設(shè)置默認(rèn)http屬性:1.選中可視化界面中左邊樹的TestPlan節(jié)點(diǎn),單擊右鍵,選擇Add'configelement'httprequestdefaults,界面右邊將會(huì)出現(xiàn)他的設(shè)置信息框。2.默認(rèn)http屬性的主要參數(shù)說明如下:protocal:發(fā)送測試請(qǐng)求時(shí)使用的協(xié)議servernameorip:被測試服務(wù)器的ip地址或者名字path:默認(rèn)的起始位置。比如將
7、path設(shè)置為/jmeter,那么所有的http請(qǐng)求的url中都將增加/jmeter路徑。portnumber:服務(wù)器提供服務(wù)的端口號(hào)我們的測試計(jì)劃將針對(duì)本機(jī)的Web服務(wù)器上的Web應(yīng)用進(jìn)行測試,所以protocal應(yīng)該是http,ip使用localhost,因?yàn)檫@個(gè)web應(yīng)用發(fā)布的context路徑是/jmeter,所以這里的path設(shè)置為/jmeter,因?yàn)槭褂肨omcat服務(wù)器,所以portnumber是8080。設(shè)置后的屏幕截圖如下:圖三:測試計(jì)劃中使用的默認(rèn)Http參數(shù)2.6增加Http請(qǐng)求現(xiàn)在我們需要增加http請(qǐng)求了,他也
8、是我們測試的內(nèi)容主體部分。你可以通過下面的步驟來增加性的http請(qǐng)求:1.選中可視化界面中左邊樹的ThreadGroup節(jié)點(diǎn),單擊右鍵,選擇Add'sampler'httprequest,界面右邊將會(huì)出現(xiàn)他