Jmeter之引數化

2021-07-12 07:28:48 字數 2314 閱讀 5266

用jmeter測試時包含兩種情況的引數,一種是在url 中,一種是請求中需要傳送的引數

url 中的引數

比如:引數/,其中」 2010/06/01/jmeter」為url引數。

在jmeter的請求中:blog.da-fang.com填寫在「伺服器名稱或ip」中;

/index.php/$/填寫在「路徑」中;

請求中的引數分為:get請求和post請求

get請求,如:其中category是引數名,web是它的值

post請求,用jmeter錄製後,可以在請求的「同請求一起傳送引數」和」同請求一起傳送檔案」中找到。

在jmeter的請求中:blog.da-fang.com填寫在「伺服器名稱或ip」中;

/填寫在「路徑」中;

引數名稱category填寫在「同請求一起傳送引數」的「名稱」中,引數值$填寫在對應的「值」中。

引數化jmeter 指令碼時,使用引數的地方書寫格式為$

具體設定引數化的方法如下:

1.        用jmeter自帶的函式助手,通過選單「選項」->「函式助手對話方塊」,即可在「函式助手」彈出框上找到jmeter的函式

其中較常用的有:

__random,   $方法的第乙個引數為隨機數的下限,第二個引數為隨機數的上限,第三個引數為儲存隨機數的變數名;

__threadnum,  $

__csvread,     $方法中第乙個引數是檔名,第二個引數是檔案中的列(列數從0開始)

__stringfromfile, $方法中第乙個引數是檔名,

$方法中沒有指定讀取檔案中的哪一列的引數,所以$只能讀取包含一列的檔案

2.        使用者定義的變數

2.1     新增「配置元件」——>「使用者定義的變數」

2.2     「名稱」中輸入變數名,此處以登入為例,定義兩個變數username和password。

「值」中可以直接輸入值,也可以通過jmeter的函式__csvread,__stringfromfile從csv或dat檔案中讀取,還可以通過字首加隨機數的方法設定引數。

a:當引數值是某個字首加乙個數字時,可以用字首名加$或$的方法設定引數值。如進行登入測試之前,先準備了使用者名為perf_0到perf_1000的使用者,那麼使用者名稱就可以設為perf_。

b.當引數值沒有規律的且量不太大時,可以通過$,$從檔案中讀取,如將使用者名稱和密碼儲存在user.csv檔案中,user.csv的內容如下:

oriana,123456

admin,admin

dandan,123456

因為user.csv檔案中有兩列資料,所以只能用$函式,username引數後的值設為$,password引數後的值設為$。

3. 從csv檔案中讀取當引數的值沒有規律且量不太大時,可以用這種方法。

具體做法如下:

3.1 建立乙個csv檔案,內容為引數的值集,每乙個引數佔一列,第一行就開始寫引數值,不要寫引數名

3.2 在測試計畫或執行緒組中新增乙個「配置元件」->「csv data set config」

3.3 filename中填寫步驟2.1中csv檔案的完整路徑(當csv檔案在bin目錄下時,只需給出檔名即可)

3.4 virable names中填寫變數名,如果csv檔案中有多個變數,則用逗號隔開;

4.從資料庫中獲取當引數的值沒有規律且量比較大時,可以選用這種方法。

具體做法如下:

4.3 新增「配置元件」->「jdbc connection configuration」,設定下列引數:

database url:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink

jdbc driver class:com.mysql.jdbc.driver

username:連線資料庫的使用者名稱(如root)

password:連線資料庫的密碼

4.4 新增「sampler」->「jdbc request」,在sql query中輸入查詢語句,如下:

select concat (「[",

group_concat(

concat(""),"]「)as json from users

4.5 在4.4中的jdbc請求中新增「後置處理器」->「正規表示式提取器」,以提取3.4中的使用者名稱和密碼為例設定正規表示式提取器的引數:

引用名稱:user

正規表示式:username:』(.+?)』\{password:』(.+?)』

模板:$1$$2$

使用時,user_g1即為使用者名稱,user_g2即為對應使用者名稱的密碼;更多正規表示式提取方法參見jmeter正規表示式提取器

Jmeter之引數化

jmeter有幾個實現引數化的方法,這次使用的是csv data set config。使用的例子是web trader的login頁面。在tread group 右鍵,新增 配置元件 csv data set config user filename 儲存引數的檔案路徑,建議使用絕對路徑。檔案的字...

Jmeter之引數化

引數化定義及引數化方式 引數化的一般用法就是將指令碼中的某些輸入使用引數來代替,在指令碼執行時指定引數的取值範圍和規則 這樣,指令碼在執行時就可以根據需要選取不同的引數值作為輸入。jmeter的test plan中,支援如下4種引數化方式 函式助手 csvread csv data set conf...

Jmeter之引數化

目錄在自動化效能測試中,引數化的目的是盡可能的去模擬真實的使用者場景。因為在實際應用中是很少會存在同乙個賬號密碼重複登入系統n次的場景,這時一般可通過對使用者名稱與密碼字段進行引數化來模擬使用者實際操作。常用的有以下兩種 上方選單欄tools 函式助手對話方塊,選擇選擇 csvread csvrea...