03 Jmeter引數化取值策略

2021-08-19 02:16:30 字數 2627 閱讀 9413

csv data set config配置中線程共享模式共有三種,分別為:所有執行緒、當前執行緒、當前執行緒組。這三種模式決定了jmeter的取值策略。jmeter執行緒共享模式,共享的是資料檔案。

1、執行緒共享模式-所有執行緒

所有執行緒:所有執行緒共享乙個資料檔案,啟幾個執行緒就會用幾條資料。

場景1:

如下圖執行緒組1下面有乙個變數檔案、乙個http請求

1)變數檔案共享模式為所有執行緒,變數檔案中定義變數t1,值為1-9

2)http中呼叫變數t1

執行緒組中設定執行緒數和迴圈次數,執行後t1取值如下

執行緒數

迴圈次數 t1

4 11 2 3 4 1

31 2 3 2

31 2 3 4 5 6

場景2:

如下圖,修改場景1指令碼,將http請求放在迴圈控制器中,變數檔案和http請求保持不變

執行緒組中設定執行緒數和迴圈次數,迴圈控制器中設定迴圈次數,執行後t1取值如下

執行緒數

迴圈次數

迴圈控制器迴圈次數 t1

說明 4

1 2112233

順序可能不一致但每個值出現的次數一定是這樣 1

總結:加迴圈控制器,可以理解成指令碼裡的迴圈,迴圈控制器不改變執行緒取值。

jmeter執行緒共享模式-所有執行緒

當前執行緒:1個執行緒1個資料檔案,執行緒組是幾,就可以理解成複製出幾分檔案。

場景1:

如下圖執行緒組1下面有乙個變數檔案、乙個http請求

1)變數檔案共享模式為當前執行緒,變數檔案中定義變數t1,值為1-9

2)http中呼叫變數t1

執行緒組中設定執行緒數和迴圈次數,執行後t1取值如下

執行緒數

迴圈次數 t1

4 11 1 1 1 1

41 2 3 4 2

21 2 1 2

場景2

如下圖,修改場景1指令碼,將http請求放在迴圈控制器中,變數檔案和http請求保持不變

執行緒組中設定執行緒數和迴圈次數,迴圈控制器中設定迴圈次數,執行後t1取值如下

執行緒數

迴圈次數

迴圈控制器迴圈次數 t1

說明 4

1 211111111

順序可能不一致但每個值出現的次數一定是這樣 1

4 211223344 2

2 211112222

jmeter執行緒共享模式-所有執行緒組

當前執行緒組:乙個執行緒組乙份檔案,執行緒組內是

所有執行緒(all thread)

模式。場景1

如下圖測試計畫下面有乙個變數檔案、兩個執行緒組

1)變數檔案共享模式為所有執行緒組,變數檔案中定義變數t1,值為1-9

2)每個執行緒組下各有乙個http請求

3)每個http請求中呼叫變數t1

執行緒組中設定執行緒數和迴圈次數,執行後t1取值如下

執行緒數

迴圈次數

http請求1_t1

http請求2_t1 3

11 2 3

1 2 3 2

21 2 3 4

1 2 3 4

場景2

如下圖,修改場景1指令碼,將兩個http請求分別放在迴圈控制器中,變數檔案和http請求保持不變

執行緒組中設定執行緒數和迴圈次數,迴圈控制器中設定迴圈次數,執行後t1取值如下

執行緒數

迴圈次數

迴圈控制器迴圈次數

http請求1_t1

http請求2_t1 說明

3 12

112233

112233

順序可能不一致但每個值出現的次數一定是這樣 2

2 211223344

11223344

jmeter引數化隨機取值實現

jmeter能用來做引數化的元件有幾個,但是都沒有隨機取值的功能,遇到隨機取值的需求怎麼辦呢?突發奇想,可以用函式 csvread 來實現 csvread csv file to get values from alias 表示要讀取的檔案路徑 csv檔案列號 next alias 表示當前變數讀取...

jmeter引數化隨機取值實現

jmeter能用來做引數化的元件有幾個,但是都沒有隨機取值的功能,遇到隨機取值的需求怎麼辦呢?突發奇想,可以用函式 csvread 來實現 csvread csv file to get values from alias 表示要讀取的檔案路徑 csv檔案列號 next alias 表示當前變數讀取...

Jmeter之引數化

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