
從我寫了: 【軟體】JMeter - 壓力測試 - 簡單版 ,已經過了快一年了。天呀~~
時間過的真快。今天終於又跨出一步,寫了 進階版。
但也都只是照著 Garlic 的 PPT 一步一步來而以,哈~~
這次的進階版主要是說明 錄製( Recording Controller)及 設定變數(CSV Data Set)這二部份。
JMeter的版本是 2.3.4
OS 是 Windows XP
接著大家就看圖吧~~看圖最清楚了。如果圖很小的,點擊後就會看到大張的原圖。
Test Plan > Add > Thread Group

Thread Group > Add > Logic Controller > Recording Controller
WorkBench > Add > Non-Test Elements > HTTP Proxy Server

接著開啟 IE,將 Proxy 設定成 localhost 8080

然後回到 JMeter,在 HTTP Proxy Server 裡的 URL Patterns to Exclude 加上過濾的條件,將不必要的資訊Skip掉,像是 jpg, gif, css, etc...加好後,就按下面的 Start ,開始錄製動作。
接著你在 IE 輸入你要測試的網頁,點擊對應的動作,這些都會被錄下來,錄好後,就按 STOP。

接著將 Recording Controller 打開後,就會看到錄下來的每一個動作。
到此為止,錄製的部份算是搞定了。

接著加入一些 Listener,這樣子就可以看到執行後的結果。
Thread Group > Add > Listener > Assertion Results (這個…是拿來驗証結果的,我這次沒用到,可以不加)

Thread Group > Add > Listener > View Result in Table

Thread Group > Add > Listener > View Result Tree

接著是 CSV Data Set 的部份,首先先準備好一份 CSV 的資料。(檔名請全部小寫)
如果是多欄的資料,從中間加上 " , " 分隔

Thread Group > Add > Config Element > CSV 資料設定 (這裡居然沒有翻譯成英文… CSV Data Set )

檔名: c:\test.txt
變數名稱:userid (如果有多欄則 userid, name, password ......)

接著就是要將這些 Data 應用到你錄製的動作中了。點擊你錄製好的 HTTP Request,將變數放到要替換的地方。
下面這張圖裡的 Path 本來是 /chingwei ,我換成 /${userid}

不止是 Path,你也可以改送出的 Param,下面這張圖裡的 uid 本來是 chingwei ,我換成 ${userid}
至此,CSV Data Set 也完成了。

接著就是執行了,在 Thread Group,你可以設定你想要的 users, in seconds, forever等參數。然後按下主選單的 Run > Start
就會開始做壓測了。

最後來看看結果,點擊 View Results Tree,可以看到餵進去的資料,真的有作用。
如果把 Errors 打勾,就只會抓有錯誤的資料。

以上~