jmeter計數器(與loadrunner函數相似的功能)
1. 誤區
計數器在很多的時候我們在聽到這個詞的時候我們會想到,這不就是個記數的嗎?在多次循環的時候會記錄當前循環的次數。(當然這不是他真正的意義,但這是目前很多使用jmeter用戶的第一想法)
2. 介紹
起始值(Starting Value):給定計數器的起始值、初始值,第一次迭代時,會把該值賦給計數器
PS:英文版是Start,Jmeter的中文語言將Start翻譯成了“啓動”,有些歧義
遞增(Increment):每次迭代後,給計數器增加的值
最大值(Maximum Value):計數器的最大值,如果超過最大值,重新設置爲初始值(Start),默認的最大值爲Long.MAX_VALUE,2^63-1(如果持續壓測,建議最好不要設置最大值)
格式(Number format):可選格式,比如000,格式化爲001,002;默認格式爲Long.toString(),但是默認格式下,還是可以當作數字使用
引用名稱(Reference Name):用於控制在其它元素中引用該值,形式:$(reference_name}
與每用戶獨立的跟蹤計數器(Track Counter Independently for each User):全局的計數器,如果不勾選,即全局的,比如用戶#1 獲取值爲1,用戶#2獲取值還是爲1;
每次迭代復原計數器(Reset counter on each Thread Group Iteration):可選,僅勾選與每用戶獨立的跟蹤計數器時可用;
注意:如果勾選,則每次線程組迭代,都會重置計數器的值,當線程組是在一個循環控制器內時比較有用。
3.使用
在實際使用中,比如性能腳本註冊用戶,或者準備數據的時候是非常有效的。我們可以根據我們需要的生成我們指定有序的字符串
例如
手機號:13500000001、13500000002。。。
郵箱號:[email protected]、[email protected]。。。
等
以上是生成135開頭的手機號,會生成101個不重複,遞增爲1的手機號
上圖在訪問百度的時候get方法加上了我們生成的手機號以${phone}引用
循環100次
結果