今天,這章節(jié)我們主要來(lái)學(xué)習(xí)JMeter參數(shù)化__CSVRead().
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出東阿免費(fèi)做網(wǎng)站回饋大家。
概念:
Apache JMeter是Apache組織開(kāi)發(fā)的基于Java的壓力測(cè)試工具。用于對(duì)軟件做壓力測(cè)試,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域。 它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源,例如靜態(tài)文件、Java小服務(wù)程序、CGI 腳本、Java 對(duì)象、數(shù)據(jù)庫(kù)、FTP 服務(wù)器, 等等。JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來(lái)自不同壓力類別下測(cè)試它們的強(qiáng)度和分析整體性能。另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試,通過(guò)創(chuàng)建帶有斷言的腳本來(lái)驗(yàn)證你的程序返回了你期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達(dá)式創(chuàng)建斷言。
JMeter的作用
1.能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試, 也可以對(duì)任何數(shù)據(jù)庫(kù)進(jìn)行同樣的測(cè)試(通過(guò)JDBC)。
2.完全的可移植性和100% 純java。
3.完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包。
4.完全多線程 框架允許通過(guò)多個(gè)線程并發(fā)取樣和 通過(guò)單獨(dú)的線程組對(duì)不同的功能同時(shí)取樣。
5.精心的GUI設(shè)計(jì)允許快速操作和更精確的計(jì)時(shí)。
6.緩存和離線分析/回放測(cè)試結(jié)果。
配置項(xiàng):
使用文件別名:
若文件路徑較長(zhǎng),可以考慮使用文件別名來(lái)簡(jiǎn)化書(shū)寫(xiě)。使用方法為:
首先,在第一次使用參數(shù)前定義文件別名;以后,在調(diào)用函數(shù)獲取數(shù)據(jù)
時(shí)都可以使用別名代替文件名,下面是使用別名的例子:
從不同數(shù)據(jù)文件讀取數(shù)據(jù):
可以設(shè)置不同的線程讀取不同的數(shù)據(jù)文件。
假設(shè)有n個(gè)線程,準(zhǔn)備對(duì)應(yīng)好的n個(gè)csv文件: testdata1.csv,
testdata2.csv,... ,testdatan.csv
線程1讀取testdata1.csv中的數(shù)據(jù),線程2讀取testdata2.csv中
的數(shù)據(jù),...
使用${threadNum}獲取線程編號(hào),再與文件名前后綴拼接形成動(dòng)態(tài)
的文件路徑作為CSVRead函數(shù)的第一個(gè)參數(shù):
${CSVRead(./testdata${__threadNum}.csv,0)}
這里以前面介紹過(guò)的查詢被購(gòu)買(mǎi)的商品總金額接口為例。
參數(shù)化步驟:
1、確定接口參數(shù)中哪些請(qǐng)求參數(shù)需要進(jìn)行參數(shù)化在設(shè)計(jì)測(cè)試用例時(shí),我們針對(duì)商品編號(hào),商品規(guī)格,商品數(shù)量來(lái)準(zhǔn)備數(shù)據(jù),故對(duì)id,attr,number參數(shù)化
2、將測(cè)試數(shù)據(jù)放在外部一個(gè)文檔保存,文件類型為csv或txt -->
.csv or .txt
新建一個(gè)testdata.csv,一行寫(xiě)一個(gè)用例,多個(gè)參數(shù)值默認(rèn)用,分隔(注意不要寫(xiě)列標(biāo)題):
case1,9,226,3
case2,,226,1
case3,9,,1
case4,9,226,
3、調(diào)用__CSVRead()函數(shù)獲取外部數(shù)據(jù)文件中的數(shù)據(jù)
Tools-->Function Helper Dialog,打開(kāi)“Function
Helper”,在“Choose a function”中選擇“__CSVRead”。
填入?yún)?shù)值后,點(diǎn)擊“Generate & Copy to Clipboard”,生成函數(shù)調(diào)用語(yǔ)句:
取列值:
id:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,1
)}
attr:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,2
)}
number:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,3
)}
換行:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,n
ext)}
4、在請(qǐng)求中將寫(xiě)死的數(shù)據(jù)用第3步中定義的變量進(jìn)行替換
data --> ${varName}
比如 ${attr}
5、配置參數(shù)化
5.1 將線程數(shù)設(shè)置為用例的個(gè)數(shù)
5.2 循環(huán)控制請(qǐng)求的次數(shù)
添加一個(gè)循環(huán)控制器,設(shè)置其循環(huán)次數(shù)為測(cè)試用例個(gè)數(shù)。