JMeter學習 引數化

2022-09-02 08:06:11 字數 2415 閱讀 5510

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次請求錯誤

b、使用剛才定義好的變數

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

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

1、 jmeter引數檔案的第一行沒有列名稱

2、 這裡要注意的是引數檔案的編碼,可以使用記事本另存為就可以修改該編碼(編碼問題在使用csv data set config引數化時要求的比較嚴格)

3、 jmeter的引數化設定沒有loadrunner做的出色,它是依賴於執行緒設定的(只有csv data set config引數化方法才有)

jmeter學習 引數化

背景 使用jmeter進行介面測試時,由於個別介面需要不同引數組合測試各種場景,像這種每乙個場景改一次測試引數測試的方法過於浪費時間,而且也不利於之後的回歸測試,因此使用jmeter引數化進行測試,將很好地解決此問題。步驟 使用登入介面做例子 1 首先設定乙個http請求 2 建立兩個賬號和密碼測試...

JMeter學習(四)引數化

jmeter也有像lr中的引數化,本篇就來介紹下jmeter的引數化如何去實現。引數化 錄製指令碼中有登入操作,需要輸入使用者名稱和密碼,假如系統不允許相同的使用者名稱和密碼同時登入,或者想更好的模擬多個使用者來登入系統。這個時候就需要對使用者名稱和密碼進行引數化,使每個虛擬使用者都使用不同的使用者...

JMeter學習(四)引數化

jmeter也有像lr中的引數化,本篇就來介紹下jmeter的引數化如何去實現。引數化 錄製指令碼中有登入操作,需要輸入使用者名稱和密碼,假如系統不允許相同的使用者名稱和密碼同時登入,或者想更好的模擬多個使用者來登入系統。這個時候就需要對使用者名稱和密碼進行引數化,使每個虛擬使用者都使用不同的使用者...