Jmeter的屬性和變數

2022-07-01 14:15:13 字數 1071 閱讀 5636

jmeter的屬性和變數可以簡單理解為程式設計裡面的全域性變數和區域性變數。屬性是全域性可見,可以跨執行緒組傳遞呼叫,而變數基本上只能存在於乙個執行緒組中(在測試計畫定義的變數也是可以跨執行緒組傳遞的)。同執行緒組內的資料傳遞一般用變數,例如,存放乙個臨時的過程值。多個程序組共用的一般用屬性,例如,登入操作的session值需要傳給其他執行緒組用,避免每個執行緒組都重複登入。

屬性的建立和賦值及訪問方法如下:

1.建立乙個屬性並賦值:

方式一:使用beanshell的內建物件props,props.put("屬性名","屬性值");

方式二:$)};

方法二是通過函式setproperty建立屬性(jmeter一般通過$的方式呼叫函式)。cookie3表示待建立的屬性名稱,第二個引數表示將要賦予的屬性值。

注:setproperty函式的屬性名和屬性值引數無需帶引號,否則引號會被jmeter當做屬性名或者屬性值的一部分。例如,$)} 執行後會建立乙個名為「cookie3」的屬性而不是cookie3屬性,並且屬性名和屬性值兩個引數間不能存在空格,否則這個空格會被認為是屬性值的一部分賦值給屬性。

2.在其他執行緒組訪問該屬性:

方法一:通過函式$進行讀取;

方法二:通過函式$進行讀取;

方式三:使用beanshell內建物件獲取props.get("屬性名");

注:若屬性是通過變數進行賦值的,例如,$)},此時跨執行緒組且在beanshell指令碼中使用上面方法讀取session屬性時,讀取到的值為「$」,而不是$對應的變數值(但是在同一執行緒組讀取session屬性則能正確讀取變數值,可能原因:猜測是跨執行緒組訪問屬性時,讀取不到$導致的,畢竟變數無法跨執行緒組傳遞,在測試計畫中定義的變數除外)。不過在jmeter的一些控制項中,跨程序組的情況下是可以直接讀取到通過變數賦值的屬性,例如http cookie管理器、使用者定義的變數控制項等。

變數的建立和賦值及訪問:

1.建立乙個變數並賦值:

方式一:在jmeter提供的控制項中建立;

方式二:使用vars物件在指令碼中建立,vars.put("變數名","變數值");

2.訪問變數:

方式一:$

方式二: vars.get("變數名")

Jmeter屬性和變數

一 jmeter中的屬性 1 jmeter屬性統一定義在jmeter.properties檔案中,我們可以在該檔案中新增自定義的屬性 3 jmeter屬性可以在測試計畫中通過函式 p 進行引用,但是不能作為特定執行緒的變數值。4 jmeter屬性可以通過 setproperty 函式來定義jmete...

Jmeter屬性和變數

jmeter屬性統一定義在jmeter.properties檔案中。jmeter屬性在測試指令碼的任何地方都是可見的 全域性 通常被用來定義一些jmeter使用的預設值。如屬性remote hosts定義了jmeter在遠端模式下執行的伺服器位址。屬性可以在測試計畫中引用,但是不能作為特定執行緒的變...

Jmeter 屬性和變數

一 jmeter中的屬性 1 jmeter屬性統一定義在jmeter.properties檔案中,我們可以在該檔案中新增自定義的屬性 3 jmeter屬性可以在測試計畫中通過函式 p 進行引用,但是不能作為特定執行緒的變數值。4 jmeter屬性可以通過 setproperty 函式來定義jmete...