jmeter五种参数化方式之CSV Data Set Config参数化
?
一、用戶定義的變量
一般會(huì)設(shè)置全局不變的參數(shù),如host、賬號(hào)、密碼等
設(shè)置名稱username,password? 值王荔,123456
線程設(shè)置2次和循環(huán)設(shè)置2次,2次采樣器傳參和結(jié)果一樣
二、用戶參數(shù)
添加用戶參數(shù)
設(shè)置3組參數(shù)
參數(shù)化
當(dāng)線程設(shè)置線程數(shù)4個(gè),會(huì)循環(huán)參數(shù)1 2 3 1;當(dāng)循環(huán)設(shè)置4次,會(huì)循環(huán)參數(shù)1 4次;當(dāng)線程設(shè)置2個(gè),循環(huán)設(shè)置5次,會(huì)參數(shù)1和2分別循環(huán)5次
三、隨機(jī)變量
添加隨機(jī)變量
設(shè)置隨機(jī)變量
變量名稱:名稱可以引用,如 ${xxx}
輸出格式:列如此處輸入x,那么得到結(jié)果是x1、x2之類的格式
最小值:輸入生成隨機(jī)數(shù)的最小數(shù)字
最大值:輸入生成隨機(jī)數(shù)的最大數(shù)字
分別設(shè)置10線程或10次循環(huán),隨機(jī)生成10個(gè)變量
四、計(jì)數(shù)器
添加計(jì)數(shù)器
設(shè)置計(jì)數(shù)器
啟動(dòng)(start)?
給定計(jì)數(shù)器的起始值、初始值,第一次迭代時(shí),會(huì)把該值賦給計(jì)數(shù)器?
注:英文版下是Start,Jmeter的中文語(yǔ)言將Start翻譯成了“啟動(dòng)”,有些歧義
遞增(Increment):?
每次迭代后,給計(jì)數(shù)器增加的值
最大值(Maximum) :?
計(jì)數(shù)器的最大值,如果超過(guò)最大值,重新設(shè)置為初始值(Start),默認(rèn)的最大值為L(zhǎng)ong.MAX_VALUE,2^63-1
Number format :?
可選格式,比如000,格式化為001,002。默認(rèn)格式為L(zhǎng)ong.toString(),但是默認(rèn)格式下,似乎還是可以當(dāng)作數(shù)字使用
引用名稱(Reference Name) :?
用于控制在其它元素中引用該值,形式:$(reference_name}
與每用戶獨(dú)立的跟蹤計(jì)數(shù)器(Track Counter Independently for each User):?
換言之,這個(gè)是全局的計(jì)數(shù)器,還是說(shuō)每個(gè)用戶擁有自己的計(jì)數(shù)器。如果不勾選,即全局的,比如用戶#1 獲取值為1,用戶#2獲取值為2,如果是獨(dú)立的,即不勾選,每個(gè)用戶有自己的值,比如用戶#1 獲取值為1,用戶#2獲取值還是為1
Reset counter on each Thread Group Iteration :?
可選,僅勾選與每用戶獨(dú)立的跟蹤計(jì)數(shù)器時(shí)可用,如果勾選了,每次線程組迭代,都會(huì)重置計(jì)數(shù)器的值。當(dāng)線程組是在一個(gè)循環(huán)控制器內(nèi)時(shí)比較有用
?
未勾選與每用戶獨(dú)立的跟蹤計(jì)數(shù)器
線程10時(shí)、循環(huán)10次時(shí),遞增迭代
勾選與每用戶獨(dú)立的跟蹤計(jì)數(shù)器
線程10時(shí),迭代第一個(gè)變量;循環(huán)10次時(shí),遞增迭代
?
五、csv data set config參數(shù)化
添加csv data set config
設(shè)置參數(shù)文件
?
設(shè)置csv data set config
- 當(dāng)Recycle on EOF 選擇true時(shí),Stop thread on EOF選擇true和false無(wú)任何意義,通俗的講,在前面控制了不停的循環(huán)讀取,后面再來(lái)讓stop或run沒(méi)有任何意義
- 當(dāng)Recycle on EOF 選擇flase時(shí),Stop thread on EOF選擇true,線程4個(gè),參數(shù)3個(gè),那么只會(huì)請(qǐng)求3次
- 當(dāng)Recycle on EOF 選擇flase時(shí),Stop thread on EOF選擇flase,線程4個(gè),參數(shù)3個(gè),那么會(huì)請(qǐng)求4次,但第4次沒(méi)有參數(shù)可取,不讓循環(huán),所以第4次請(qǐng)求錯(cuò)誤
? ? ?8. Sharing mode:共享模式,All threads –所有線程,Current thread group—當(dāng)前線程組,Current thread—當(dāng)前線程。經(jīng)試驗(yàn)得出來(lái)的結(jié)果是(不考慮線程組迭代):
- 如果測(cè)試計(jì)劃中有線程組A、線程組B,A組內(nèi)有線程A1到線程An,線程組B內(nèi)有線程B1到線程Bn,CSV Data Set Config放在線程組A的下級(jí)組織樹(shù),不管怎么設(shè)置Sharing mode,都只針對(duì)線程組A且取之情況一樣:線程A1取第一行,線程A2取第二行。CSV Data Set Config放在測(cè)試計(jì)劃下級(jí)組織樹(shù)(與線程組并列),情況如下 :
? All threads:測(cè)試計(jì)劃中所有線程,線程組A、線程組B共用一個(gè)CSV文件,所取數(shù)據(jù)與線程實(shí)際執(zhí)行順序有關(guān)(先執(zhí)行先取)。補(bǔ)充一點(diǎn):線程組之間是并行執(zhí)行,各線程實(shí)際執(zhí)行時(shí)間根據(jù)Ramp-UP Period而來(lái),如下圖,若線程A、線程B均設(shè)置Ramp-Up Period:2,取之情況是:線程A1取第1行,線程B1取第2行,線程A2取第3行,線程B2取第4行。
? ? ? ? Current thread group:取之情況是:線程A1取第1行,線程A2取第2行,線程B1取第1行,線程B2取第2行。(線程組互不影響)
?Current thread:當(dāng)前線程。A1取第一行,A2取第一行;B1取第一行,B2取第一行(均取第一行)
CSV Data Set Config默認(rèn)設(shè)置,線程10個(gè)、循環(huán)10次,結(jié)果一樣
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的jmeter五种参数化方式之CSV Data Set Config参数化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Python】pymysql模块处理M
- 下一篇: 【工具】FTP软件FileZilla下载