jmeter(十)參數化

來源:互聯網
上載者:User

標籤:ges   style   alt   conf   var   alias   密碼   功能   variable   

jmeter可以用來做介面、效能測試,原理是類比用戶端向伺服器發送請求,請求裡麵包含兩種不同情況的參數,一種是包含在URL中,一種是請求中需要發送的參數。

包含在URL中的參數,例如:http://blog.imyalost.com/index.php/2016/11/11/jmeter中,“2016/11/11/jmeter”參數為URL的參數。

請求中需要發送的參數(只能列舉GET請求),例如:http://www.it315.org/counter.jsp?name=zhangsan&password=123中,“zhangsan”是參數名,“123”是參數值。

至於POST請求,可以在jmeter指令碼中“隨請求一起發送的參數”和“隨請求一起發送的檔案”中找到。

PS:關於GET和POST要求方法,可以參見之前的部落格:http://www.cnblogs.com/imyalost/p/5630940.html

對於jmeter指令碼裡面的參數進行參數化時,使用參數的地方書寫格式為$。

 

關於jmeter的參數化,常用的有2種方法:

首先建立一個測試指令碼,可以通過工具(badboy)錄製或者自己手動編寫

登入請求的介面如下:

這裡我們對登入的使用者名稱密碼進行參數化,將使用者名稱密碼寫入txt文檔,儲存為.dat格式,編碼類別型選擇UTF-8,因為配置元件——CSV Data Set Config對參數化的格式要求比較嚴格,使用者名稱密碼一一對應,之間用半形英文逗號隔開

然後將儲存的.dat檔案放入電腦的某個盤裡,這裡我放入路徑為:F:\jmeter\csvtest.dat

下面具體介紹參數化的兩種方法:

 

一、借用函數助手

點擊jmeter的介面,功能欄選項→ 函數助手對話方塊→ _CSVRead

 

CSV file to get values from | *alias:CSV檔案取值路徑,即這裡需要寫入之前的需要參數化的參數的檔案路徑

CSV檔案列號| next|*alias:檔案起始列號:CSV檔案列號是從0開始的,第一列為0,第二列為1,以此類推。。。

函數字串:即產生的參數化後的參數,可以直接在登陸請求中的參數中引用,第一列為使用者名稱,函數欄位號為0,第二列為密碼,函數欄位號為1,以此類推進行修改使用即可

替換參數化後的參數,然後修改線程數,執行指令碼,通過監聽器裡結果樹的請求內容,可以看到請求的參數都是參數化後的資料

 

二、配置元件——CSV Data Set Config

點擊線程組添加配置元件→ CSV Data Set Config:

說明:

Filename:F:\jmeter\csvtest.dat檔案名稱,儲存參數化資料的檔案目錄,可選擇相對或者絕對路徑

File encoding:UTF-8,F:\jmeter\csvtest.dat檔案的編碼格式,在儲存時儲存編碼格式為UTF-8即可

Variable Names(comma-delimited):user,pwd 參數名稱(如:有幾列參數,在這裡面就寫幾個參數名稱,每個名稱中間用分隔字元分割,這裡的 user,pwd,可以被利用變數名來引用:${user},${pwd}

Delimitet:定義分隔字元,用來在“Variable Names”中分隔參數

Allow quote data:選項選為“true”的時候對全形字元的處理出現亂碼 

Recycle on EOF?:是否迴圈讀入;因為CSV Data Set Config一次讀入一行,分割後存入若干變數中交給一個線程,如果線程數超過文本的記錄行數,那麼可以選擇從頭再次讀入

                           True=當讀取檔案到結尾時,再重頭讀取檔案

                           False=當讀取檔案到結尾時,停止讀取檔案

Stop thread on EOF?:當Recycle on EOF為False時(讀取檔案到結尾),停止進程,當Recycle on EOF為True時,此項無意義

 

完成之後,將剛才產生的參數寫入參數對應的值裡面:

以上就是2中參數化的方法,推薦使用CSV控制項方法(因為函數助手參數化功能相比其較弱)

相比於loadrunner來說,jmeter參數化有以下不同:

1.jmeter參數檔案第一行沒有列名稱

2.參數檔案的編碼,盡量儲存為UTF-8(編碼問題在使用CSV Data Set Config參數化時要求的比較嚴格)

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

 

jmeter(十)參數化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.