參數化:簡單的來理解一下,我們錄制了一個腳本,這個腳本中有登錄操作,需要輸入用戶名和密碼,假如系統不允許相同的用戶名和密碼同時登錄,或者想更好的模擬多個用戶來登錄系統。
這個時候就需要對用戶名和密碼進行參數化,使每個虛擬用戶都使用不同的用戶名和密碼進行訪問。
前提:
假如,我們錄制好了一個腳本(可以用badboy工具錄制),在jmeter中打開,找到有用戶名和密碼的頁面。如下:
1.我們需要“參數化”的數據,這里我用記事本寫了五個用戶名和密碼,保存為.dat格式的文件。
我將這個文件放在了我的( D:\test.dat )路徑下。關於如何得到成百上千的用戶名和密碼,首先要在數據庫中創建這些數據,將數據導出,整理保存,這里就不深究。
2.好,我們要編寫函數來調用這個test.dat文件,怎么弄,
點擊菜單欄“選項”---->函數助手對話框,看下圖。
3.把我們寫好的函數復制到“登錄”頁面用戶名和密碼胡位置。
好了,現在我們的參數化設置完成,在腳本的時候,會調用我們D盤下面的test.dat文件,第一列是用戶,第二列是密碼。
注意用戶名和密碼是一一對應的,中間用戶逗號(,)隔開。
檢查點:簡單的來理解一下,我們對用戶名和密碼進行了參數化,那么怎樣來判斷jmeter有沒有正確調用test.dat里面的文件呢。當然,我們可以從結果圖表中查看。但我還是想在“登錄”這個地方進行一下檢查。
jmeter里面的檢查點通過添加斷言來完成。
1.右鍵點擊我們的“登錄”頁面---->添加---->斷言---->響應斷言
來設置一下斷言頁面,我們想斷言什么呢?調用的用戶名和密碼是不是我們test.dat文件里的用戶名和密碼,怎樣來進行呢。
3.這里我們需要分別准備兩個文件,一個放用戶名,一個放密碼。
在響應斷言頁面添加兩個“模式”
4.添加一個斷言結果
右鍵點擊我們的“登錄”頁面---->添加---->監聽器---->斷言結果
還可以再添加一個“查看結果樹” 右鍵點擊我們的“登錄”頁面---->添加---->監聽器---->查看結果樹
在線程組中設置5個用戶,點擊運行運行。
查看斷言結果:
查看結果做:
好了,檢查點添加成功!
集合點:簡單來理解一下,雖然我們的“性能測試”理解為“多用戶並發測試”,但真正的並發是不存在的,為了更真實的實現並發這感念,我們可以在需要壓力的地方設置集合點,
還拿那個用戶和密碼的地方,每到輸入用戶名和密碼登錄的地方,所有的虛擬用戶都相互之間等一等,然后,一起訪問。
1.接着之前創建的腳本,右鍵點擊 step1---->定時器---->Synchronizing Timer
這樣子就添加了一個“集合點”,下面來設置一下集合點。
2.我們添加完之后的列表是這個樣子的,
發現了沒,我們集合點的位置不對,應該在登錄的前面才對。怎么弄呢?
點擊“synchronizing Timer”拖動到“登錄”面前的位置,不要松鼠標的左鍵,再點擊鼠標的右鍵,選擇在“之前插入”---有點難噢,慢慢來!
OK!!