JMeter学习(四)参数化、断言、集合点
1.參數(shù)化
錄制腳本中有登錄操作,需要輸入用戶名和密碼,假如系統(tǒng)不允許相同的用戶名和密碼同時(shí)登錄,或者想更好的模擬多個(gè)用戶來(lái)登錄系統(tǒng)。
這個(gè)時(shí)候就需要對(duì)用戶名和密碼進(jìn)行參數(shù)化,使每個(gè)虛擬用戶都使用不同的用戶名和密碼進(jìn)行訪問(wèn)。
JMeter的參數(shù)化存在兩種方式
準(zhǔn)備工作
a)錄制一個(gè)腳本(可以用badboy工具錄制),在jmeter中打開(kāi),找到有用戶名和密碼的頁(yè)面。如下:
b)我們需要“參數(shù)化”的數(shù)據(jù),用記事本寫了三個(gè)用戶名和密碼,保存為.txt格式文件,注意:用戶名和密碼是一一對(duì)應(yīng)的,中間用戶逗號(hào)(,)隔開(kāi)。
參數(shù)化的兩種方式
(1)借助函數(shù)助手的方式
a)點(diǎn)擊菜單欄“選項(xiàng)”---->函數(shù)助手對(duì)話框,看下圖: ?CSV文件列號(hào)是從0開(kāi)始的,第一列0、第二列1、第三列2、依次類推
b)復(fù)制生成的參數(shù)化函數(shù),打開(kāi)登陸請(qǐng)求頁(yè)面,在右則的參數(shù)化中找到我們要參數(shù)化的字段,這里對(duì)用戶名和密碼做參數(shù)化,第一列是用戶名,列號(hào)為0;第二列是密碼,列號(hào)為1;修改函數(shù)中對(duì)應(yīng)的參數(shù)化字段列號(hào)就可以啦
好了,現(xiàn)在我們的參數(shù)化設(shè)置完成,在腳本的時(shí)候,會(huì)調(diào)用我們d:\JMeter\Login.txt文件,第一列是用戶,第二列是密碼。
(2)借助JMeter中的配置元件(CSV?Data?Set?Config)
a)選中線程組,點(diǎn)擊右鍵,添加-配置元件-CSV Data Set Config
說(shuō)明:
Filename ---?參數(shù)項(xiàng)文件
File Encoding ---?文件的編碼,設(shè)置為UTF-8
Vaiable Names ---?文件中各列所表示的參數(shù)項(xiàng);各參數(shù)項(xiàng)之間利用逗號(hào)分隔;參數(shù)項(xiàng)的名稱應(yīng)該與HTTP Request中的參數(shù)項(xiàng)一致。
Delimiter ---?如文件中使用的是逗號(hào)分隔,則填寫逗號(hào);如使用的是TAB,則填寫\t;(如果此文本文件為CSV格式的,默認(rèn)用英文逗號(hào)分隔)
Recycle on EOF? ---?True=當(dāng)讀取文件到結(jié)尾時(shí),再重頭讀取文件
? ? ? ? ? ? ? ? ? ? False=當(dāng)讀取文件到結(jié)尾時(shí),停止讀取文件
Stop thread on EOF? ---?當(dāng)Recycle on EOF為False時(shí),當(dāng)讀取文件到結(jié)尾時(shí),停止進(jìn)程,當(dāng)Recycle on EOF為True時(shí),此項(xiàng)無(wú)意義
b)使用剛才定義好的變量
?
至此,兩種參數(shù)化的方法就介紹完了。
需要說(shuō)明一下:函數(shù)助手方法要比CSV控件方法參數(shù)化功能要弱,推薦使用CSV控件方法。
2.斷言
JMeter也有像LR中的檢查點(diǎn),本篇就來(lái)介紹下JMeter的檢查點(diǎn)如何去實(shí)現(xiàn)。
JMeter里面的檢查點(diǎn)通過(guò)添加斷言來(lái)完成。
上面講到,我們對(duì)用戶名和密碼進(jìn)行了參數(shù)化,那么怎樣來(lái)判斷jmeter有沒(méi)有正確調(diào)用t.dat里面的文件呢。當(dāng)然,我們可以從結(jié)果圖表中查看。但我還是想在“登錄”這個(gè)地方進(jìn)行一下檢查。
(1)添加響應(yīng)斷言,右鍵點(diǎn)擊我們的“登錄”頁(yè)面---->添加---->斷言---->響應(yīng)斷言
(2)設(shè)置響應(yīng)斷言
斷言中可以添加多個(gè)斷言一起判斷,斷言中也可以使用參數(shù)化方法,進(jìn)行動(dòng)態(tài)判斷。
(3)添加斷言結(jié)果,右鍵點(diǎn)擊我們的“登錄”頁(yè)面---->添加---->監(jiān)聽(tīng)器---->斷言結(jié)果
再添加一個(gè)“查看結(jié)果樹”?右鍵點(diǎn)擊我們的“登錄”頁(yè)面---->添加---->監(jiān)聽(tīng)器---->查看結(jié)果樹
在線程組中設(shè)置3個(gè)用戶,點(diǎn)擊運(yùn)行運(yùn)行。
(4)查看斷言結(jié)果
a)、成功如下圖:
b)、若斷言失敗,如下圖:
注意:一般成功只會(huì)顯示一行數(shù)據(jù),否則會(huì)多顯示一行。至此,檢查點(diǎn)設(shè)置完成。
3.集合點(diǎn)
JMeter也有像LR中的集合點(diǎn),本篇就來(lái)介紹下JMeter的集合點(diǎn)如何去實(shí)現(xiàn)。
JMeter里面的集合點(diǎn)通過(guò)添加定時(shí)器來(lái)完成。
注意:集合點(diǎn)的位置一定要在Sample之前.
簡(jiǎn)單來(lái)理解一下,雖然我們的“性能測(cè)試”理解為“多用戶并發(fā)測(cè)試”,但真正的并發(fā)是不存在的,為了更真實(shí)的實(shí)現(xiàn)并發(fā)這感念,我們可以在需要壓力的地方設(shè)置集合點(diǎn),拿那個(gè)用戶和密碼的地方,每到輸入用戶名和密碼登錄的地方,所有的虛擬用戶都相互之間等一等,然后,一起訪問(wèn)。
(1)接著之前創(chuàng)建的腳本,右鍵點(diǎn)擊 線程組---->定時(shí)器---->Synchronizing Timer
這樣子就添加了一個(gè)“集合點(diǎn)”,下面來(lái)設(shè)置一下集合點(diǎn),設(shè)置延遲時(shí)間(以毫秒為單位)
(2)我們添加完之后的列表是這個(gè)樣子的
發(fā)現(xiàn)了沒(méi),我們集合點(diǎn)的位置不對(duì),應(yīng)該在登錄的前面才對(duì)。怎么弄呢?
簡(jiǎn)單方法:拖住集合點(diǎn),直接移動(dòng)Synchronizing Timer至登錄的前面即可。
至此,集合點(diǎn)已添加完成。
?
綜上,即為JMeter的參數(shù)化、斷言、集合點(diǎn)的添加方法。
?
轉(zhuǎn)載于:https://www.cnblogs.com/tian-yong/p/4466690.html
總結(jié)
以上是生活随笔為你收集整理的JMeter学习(四)参数化、断言、集合点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 女性不孕有哪些症状
 - 下一篇: ODAC(V9.5.15) 学习笔记(四