2014年4月9日 星期三

Jmeter 壓力測試 Time 範例


Jmeter 是Apache組織的開放源代碼項目,使用Java開發的應用程式,主要用來測試網站功能和網站的受壓力能力及不同的測試下性能情況,詳細說明與安裝請google大神幫忙。
這裡主要的記錄一下,最近關於time的情況,案例如下:  ψ(`∇´)ψ

要針對客戶的api進行壓力測試,因此需要傳遞參數來進行正常的測試,
1. 首先要先登入,這邊採用CSV資料設定方式,因為要進行多人測試,因此先把
帳號密碼存在txt檔中,再利用CSV資料設定去存取,檔名部分,請注意一定要小寫的,
變數名稱部分,就是之後資料讀入後可以拿來用的名稱   ヾ(*´∀`*)ノ


2.如下圖紅色框框所示,變數的使用方式利用${} 包住就行了,上面變數叫 userid 使用的時候就用 ${userid} 就行了,最後值就會變成 {"account":"u1","pw":"u1"}    ( *`ω´)


3.  接下來才是time的部分,如下圖所示,我們需要傳給客戶端的格式溫度跟時間部分,我們需要動態產生,除了csv資料設定外,我們這裡介紹一個更像動態的參數。



4. 如下圖所示,我們設定一個參數叫  Temperature,範圍從 28 ~ 36 ,這樣我們在取用Temperature就會動態取到28 ~ 36的值,不過因為溫度有小數點,目前我找不到動態產生小數點,於是只好利用二個 Random Variable組成 有小數點的溫度 ${Temperature}.${point}



5. 再來 介紹下,另一種 參數 叫使用者參數,底下那張圖的意思是指,使用usr時,會動態取得 2 、5、7、3 的值,可以使用於 動態使用某一些參數來用


6. 再來是最重要的 Time ,因為我要的格式是 2014-4-9 04:16:05 ,偏偏官方的格式裡面沒有這種東西,我只好自已亂測,
  • YMD = yyyyMMdd
  • HMS = HHmmss
  • YMDHMS = yyyyMMdd-HHmmss
  • USER1 = whatever is in the Jmeter property time.USER1
  • USER2 = whatever is in the Jmeter property time.USER2
如上面所示,官方只有這些格式而已, 跟我想要的不同,於是只好自已拼,官方最基本的格式是 ${__time} 回傳的是毫秒的,如果使用  ${__time(YMD)} 得到的就是 20140409
因此我就拼出來這個格式  ${__time(Y)}-${__time(M)}-${__time(d)} ${__time(hh)}:${__time(mm)}:${__time(ss)}

結果就是得到我要的格式,不確定是不是有更好的方式,至少我不太想找了,
最後底下就是相對應的,上半部是寫法,下半部是得到的結果




由於是記錄,因此有事見解可能不是很正確。 【o´゚□゚`o】




請尊重著作權. 請勿轉載

沒有留言:

張貼留言