您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源性能測(cè)試工具 > Jmeter
在 JMeter 壓力測(cè)試工具中使用變量
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/6 15:28:20 ] 推薦標(biāo)簽:

  Apache JMeter( http://jakarta.apache.org/jmeter/ )是來(lái)自 Apache Jakarta 項(xiàng)目的一個(gè)壓力測(cè)試工具, 目前版本2.0.3, JMeter 支持 HTTP, FTP, SOAP/XML-RPC, JDBC 等多種目標(biāo)的壓力測(cè)試(參見(jiàn)下圖).

  關(guān)于 JMeter 的一般使用在它的官方主頁(yè)和其它網(wǎng)站可以搜索到不少文章, 但是很少看到如何使用一些動(dòng)態(tài)內(nèi)容(比如在 HTTP 請(qǐng)求中使用變量作為參數(shù))的文章, 近因?yàn)楣ぷ餍枰?在這方面做了一些摸索, 總結(jié)如下.

0.測(cè)試項(xiàng)目概述

 為了嘗試如何使用變量, 我們首先需要建立一個(gè)測(cè)試項(xiàng)目, 在這里使用了 Buffalo (一種 AJAX 技術(shù), 詳細(xì)資料參見(jiàn)http://www.amowa.net/buffalo/index.html ), 或者可以看一下我下載的這個(gè)文件(att:在 JMeter 壓力測(cè)試工具中使用變量.Buffalo-info.zip)中的說(shuō)明和例子. 目前 Buffalo 還不是很穩(wěn)定, 但是建立一個(gè)測(cè)試環(huán)境已經(jīng)足夠了, 而且很方便.

我們建立的這個(gè)例子叫做 "buffalo-jmeter", 將這個(gè)壓縮文件(att:在 JMeter 壓力測(cè)試工具中使用變量.buffalo-jmeter.zip)中的 buffalo-jmeter.war 文件復(fù)制到 Tomcat(我用的是 Tomcat 5.0.30) 的 webapps 目錄下, 待 Tomcat 自動(dòng)發(fā)布完成之后可以通過(guò) http://localhost:8080/buffalo-jmeter/ (假設(shè)是發(fā)布在本地的Tomcat上) 訪(fǎng)問(wèn)測(cè)試頁(yè)面(如下圖).

  在這個(gè)例子中我們假設(shè)一個(gè)業(yè)務(wù): 首先通過(guò) getToken() 獲得一個(gè)憑證, 然后通過(guò)這個(gè)憑證使用 getOrder() 去申請(qǐng)一個(gè)訂單, 憑證上存在時(shí)間記錄, 如果超過(guò)設(shè)定的時(shí)間(例子中是10秒)后這個(gè)憑證失效而無(wú)法用于申請(qǐng)訂單了(在上圖中的對(duì)話(huà)框正說(shuō)明了這種情形).


 1.測(cè)試中遇到的問(wèn)題

 首先我們需要知道 Buffalo 其實(shí)是一種 XML-RPC 技術(shù), 所以我們可以使用 JMeter 的 SOAP/XML-RPC Request 這個(gè) Sampler 進(jìn)行測(cè)試, 但是為了方便快捷進(jìn)行測(cè)試, 以下兩個(gè)問(wèn)題需要解決:

 如果測(cè)試服務(wù)器發(fā)生變化, 如何方便的一次性改變所有請(qǐng)求的 URL 地址;

 如上一節(jié)所述, 10秒鐘后憑證會(huì)失效, 因此我們?cè)跍y(cè)試 getOrder() 的時(shí)候不能輸入固定的憑證號(hào), 應(yīng)該每10秒左右獲取一個(gè)新的憑證, 這樣操作的難點(diǎn)在于如何自動(dòng)讓 JMeter 得到新獲得的憑證號(hào)并應(yīng)用到 getOrder() 請(qǐng)求中.

 2.靜態(tài)變量(用戶(hù)定義的變量)

 JMeter 允許對(duì)一個(gè)測(cè)試計(jì)劃(*.jmx)設(shè)置用戶(hù)定義的變量, 因此我們可以把象 URL 等需要統(tǒng)一修改的值作為變量定義起來(lái)(如下圖);

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd