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

  Apache JMeter( http://jakarta.apache.org/jmeter/ )是來自 Apache Jakarta 項目的一個壓力測試工具, 目前版本2.0.3, JMeter 支持 HTTP, FTP, SOAP/XML-RPC, JDBC 等多種目標的壓力測試(參見下圖).

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

0.測試項目概述

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

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

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


 1.測試中遇到的問題

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

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

 如上一節(jié)所述, 10秒鐘后憑證會失效, 因此我們在測試 getOrder() 的時候不能輸入固定的憑證號, 應該每10秒左右獲取一個新的憑證, 這樣操作的難點在于如何自動讓 JMeter 得到新獲得的憑證號并應用到 getOrder() 請求中.

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

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

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