【轉】Jmeter學習(三)參數化

JMeter也有像LR中的參數化,本篇就來介紹下JMeter的參數化如何去實現。

 

參數化:錄製腳本中有登錄操作,需要輸入用戶名和密碼,假如系統不允許相同的用戶名和密碼同時登錄,或者想更好的模擬多個用戶來登錄系統。

這個時候就需要對用戶名和密碼進行參數化,使每個虛擬用戶都使用不同的用戶名和密碼進行訪問。

 

一、準備腳本,測試數據

1、錄製一個腳本(可以用badboy工具錄製),在jmeter中打開,找到有用戶名和密碼的頁面。如下:

2、我們需要“參數化”的數據,用記事本寫了五個用戶名和密碼,保存爲.dat格式的文件,編碼問題在使用CSV Data Set Config參數化時要求的比較嚴格,記事本另存爲修改編碼UTF-8.  注意用戶名和密碼是一一對應的,中間用戶逗號(,)隔開。

我將這個文件放在了我的( C:\JmeterWorkSpace\t.dat  )路徑下。

 

二、參數化

  這裏介紹兩種參數化的方式:函數助手,CSV Data Set Config。

 

1、藉助函數助手的方式

a、點擊菜單欄“選項”---->函數助手對話框,看下圖:  CSV文件列號是從0開始的,第一列0、第二列1、第三列2、依次類推。。

 

 

b、複製生成的參數化函數,打開登陸請求頁面,在右則的參數化中找到我們要參數化的字段,這裏對用戶名和密碼做參數化,第一列是用戶名,列號爲0;第二列是密碼,列號爲1;修改函數中對應的參數化字段列號就可以啦。

好了,現在我們的參數化設置完成,在腳本的時候,會調用我們C:\JmeterWorkSpace盤下面的t.dat文件,第一列是用戶,第二列是密碼。

 

2、藉助jmeter中的配置元件(CSV Data Set Config)

 a、選中線程組,點擊右鍵,添加-配置元件-CSV Data Set Config

說明:

Filename --- 參數項文件
File Encoding --- 文件的編碼,設置爲UTF-8
Vaiable Names --- 文件中各列所表示的參數項;各參數項之間利用逗號分隔;參數項的名稱應該與HTTP Request中的參數項一致。
Delimiter --- 如文件中使用的是逗號分隔,則填寫逗號;如使用的是TAB,則填寫\t;(如果此文本文件爲CSV格式的,默認用英文逗號分隔)

Recycle on EOF? --- True=當讀取文件到結尾時,再重頭讀取文件
                    False=當讀取文件到結尾時,停止讀取文件
Stop thread on EOF? --- 當Recycle on EOF爲False時,當讀取文件到結尾時,停止進程,當Recycle on EOF爲True時,此項無意義

 

備註說明:這裏我用通俗的語言大概講一下Recycle on EOF與Stop thread on EOF結果的關聯

Recycle on EOF :到了文件尾處,是否循環讀取參數,選項:true和false

Stop thread on EOF:到了文件尾處,是否停止線程,選項:true和false

當Recycle on EOF 選擇true時,Stop thread on EOF選擇true和false無任何意義,通俗的講,在前面控制了不停的循環讀取,後面再來讓stop或run沒有任何意義

當Recycle on EOF 選擇flase時,Stop thread on EOF選擇true,線程4個,參數3個,那麼只會請求3次

當Recycle on EOF 選擇flase時,Stop thread on EOF選擇flase,線程4個,參數3個,那麼會請求4次,但第4次沒有參數可取,不讓循環,所以第4次請求錯誤

 

事例下載:demo

 

b、使用剛纔定義好的變量

至此,兩種參數化的方法就介紹完了。

需要說明一下:函數助手方法要比CSV控件方法參數化功能要弱,推薦使用CSV控件方法。

 

 

再看看與loadrunner參數化不一樣的:

1、 jmeter參數文件的第一行沒有列名稱

2、 這裏要注意的是參數文件的編碼,可以使用記事本另存爲就可以修改該編碼(編碼問題在使用CSV Data Set Config參數化時要求的比較嚴格)

3、 Jmeter的參數化設置沒有LoadRunner做的出色,它是依賴於線程設置的(只有CSV Data Set Config參數化方法纔有)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章