問題:
有些系統中一個帳號只允許一個客戶端(一個人用)在線(只有一個Session),就是同一個帳號兩個人登陸,後一個人會踢掉前一個人。
JMeter做負載工具時,我們要模擬大量用戶就可能要用到參數化,JMeter目前是無力解決上面問題的,那如何是好?
解決辦法:
1.每個用戶一個參數文件,愚哭了(XXX)
2.用戶名做成 user_001這種字符加序號的形式,序號在運行時自動獲取,有不同功能及數據權限時不好控制(XXX)
3.自己擴展讓JMeter支持Unique方式取值。
下圖是擴展後的CSV Data Set Config 元件,目前是基於2.11版本擴展的。
請使用這個地址下載:
http://download.csdn.net/detail/selingchen/9376593
不友好的是,這個地址扣積分,爲什麼呢?因爲這是一本書的配套工具包,3個積分而已
下載後解壓放在%JMETER_HOME%\lib\ext目錄,%JMETER_HOME%是你自己的JMeter的根目錄。
使用說明:
1.Unique選項選擇true後,Recycle on EOF、Recycle on EOF 、Stop thread on EOF 三個選項屏蔽。
Unique默認爲按用戶分塊取參數,取完循環,每個用戶取的參數不重複。
比如5個參 數,3個線程,那麼是如下取值:
線程一 參數1、參數2
線程二 參數3、參數4
線程三 參數5
參數文件第一行默認是標題行【不會當着參數取此行數據】
2.Sharing mode 只支持current thread group,其它方式沒有進行測試(設計時就沒考慮,大家可以試一試)。
另外不支持分佈式運行時的Unique(分塊)參數化,JMeter不提供這種參數化的方式是有原因的,自己想。