jmeter 系統函式整理

2022-07-31 04:18:15 字數 4426 閱讀 7729

大家都知道在jmeter使用中,不是每個功能都需要自己去吭哧吭哧寫beanshell**的,在使用jmeter時,此工具為大家已經封裝好了很多好用的系統級函式,可以直接呼叫來實現你想要的功能。本篇將整理下在jmeter中常用的系統函式使用,以方便於日常使用時查詢。

1.$:計數器函式,每次呼叫值+1,從1開始

第乙個引數:

true:如果希望每個虛擬使用者計數器保持獨立,與其他使用者計數器相區別;

false:全域性計數器

第二個引數:儲存結果的變數名稱。引用方式:$

2.$:csv檔案讀取函式,是從外部讀取引數,__csvread函式可以從乙個csv檔案中讀取多個引數。

csv file to get values from | *alias :要讀取檔案的路徑

csv檔案列號| next| *alias :要從第幾列開始讀取,第一列為0

示例:$ --從test.csv中取第1列的值

$)} --從test.csv中隨機取第2-4列的值

3.$:整型相加函式

要新增的第乙個整數:第乙個整數

name of variable in which to store the result (optional):儲存到的變數名

示例:$    #求1+2+3+4的和 儲存到param變數中

4.$:獲得長整型數之和

first long to add:第1個數

second long to add - further longs can be summed by adding further arguments:第2個數,多餘其他數用,間隔

name of variable in which to store the result (optional):儲存的變數名

示例:$    #求1+13+12的和存到par變數中

5.$:得到當前執行機器名

6.$:自定義jmeter屬性和屬性值,或者設定屬性預設值

示例:$:設定remote_hosts屬性的值預設為1,如果沒有remote_hosts屬性則返回預設值1,如果jmeter中存在此屬性,則返回屬性的值。修改預設屬性值可以修改1的值就行

7.$:同$類似,前者p只設定預設值,後者property是設定預設值後再儲存另乙個變數中

引數1:引數名稱:

引數2:name of variable in which to store the result (optional):儲存的變數名

引數3:預設值

示例:$:設定param引數的預設值為200,同時儲存到first變數中,其他地方可以用$引用

8.$:設定jmeter的屬性值,全域性變數賦值

引數說明:

value of property:屬性值

return original value of property (default false) ?:返回初始值,預設false

示例:$,)} :把區域性變數result設定為全域性變數newresult

提取全域性變數值:$  等同於$

9.$:提取隨機值,從使用者定義的多個值裡隨機取乙個

引數說明:

source variable(s) (use | as separator):源變數名,多個用 | 間隔

target variable:目標變數,即儲存後的變數名

示例:$:從變數var1、var2、var3隨機獲取乙個變數的值,存放到target變數裡

注意:此處的var1 |var2 |var3 是變數名,非變數的值

10.$:生成多個隨機字元

引數說明:

random string length:隨機字串的長度

chars to use for random string generation:生成多個隨機字元的源字串

name of variable in which to store the result (optional):儲存的變數名

示例:$

在hello world字串中隨機生成3位的字元,放到param變數中。

11.$:獲取請求名

12.$:隨機函式

引數說明:

引數1:為最小值

引數2:為最大值

引數3:為儲存的變數名

示例:$   獲取x到y之間隨機的數值,存放到z變數中

13.$:分離函式

引數1:為需要分割的變數或者string,

引數2:為儲存的變數名

引數3:為分割符

示例:$:x為需要分割的變數或者string,y為儲存的變數名,z為分割符

14.$:獲取測試計畫名

15.$:獲取測試計畫的執行緒數

16.$:時間函式

常見時間格式示例:

$  :1450056496991 //無格式化引數,返回當前毫秒時間後賦值給param1變數

$:20151214      //返回年月日  後賦值給param1變數

$:   092816        //返回時分秒  後賦值給param1變數

$:20151214-092816 //獲取時間  後賦值給param1變數

$:   //獲取系統當前時間轉換為年-月-日 時:分:秒格式

$,-3600000, param1)}:    //獲取一小時前的時間戳後賦值給param1變數

17.$:對於測試中返回的中文進行url解碼

示例:$:將給定字串解碼為中文顯示

18.$:對於測試中提交的中文進行url轉碼

示例:$ :編碼後:%e4%bd%a0%e5%a5%bd

19.$:唯一標識碼,生成乙個隨機字串,用於某些引數需要唯一值的情況

uuid格式如:8e9464d2-4561-453e-8005-ad0a44507640

20.$:從乙個檔案中讀取乙個字串,如果讀取或者開啟這個檔案發生錯誤時,將返回「err」字串

引數說明:

引數1:輸入檔案的全路徑:輸入讀取檔案的絕對路徑+檔名

引數2:name of variable in which to store the result (optional):儲存結果的變數名稱

引數3:start file sequence number (opt):初始序列號,即讀取檔案的序列號,第幾個檔案

引數4:final file sequence number (opt):結束序列號,即讀取檔案的序列號,第幾個檔案

示例:$:讀取d盤test.dat檔案的內容,迴圈一次讀取一行

可以讀取多個檔案,如:

$:從d盤下讀取test開頭的第1和第2個dat檔案內容存放到content變數中

21.$:用來執行儲存在變數中的表示式,並返回執行結果

示例:比如某csv檔案中內容:

user,name,time

test1,小名,$

那麼在jmeter中讀取csv檔案中time列,正常讀取用$肯定會報錯,因為字段值有特殊符號,這時候在jmeter中就需要用到此函式,呼叫如下:

$,這樣就可以讀取到time列的值了

所以此方法一般可用於csv檔案中引數值存在引用的時候

22.$:使用xpath方式提取檔案內容

示例:$ :從xmlfile檔案中根據表示式//a[b='ccc']提取內容

23.$:寫入日誌檔案

引數1:string to be logged (and returned):日誌資訊

引數2:log level (default info) or out or err:日誌級別

引數3:throwable text (optional):異常文字

引數4:additional comment (optional):額外備註

示例:$

jmeter測試流程整理

整理jmeter指令碼編寫流程,注意事項,常用元件,常見問題。參看 processon思維導圖 apache jmeter 是 apache 組織開發的基於 j a 的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於 web 應用測試,但後來擴充套件到其他測試領域。它可以用於測試靜態和動態資源,...

Jmeter常用函式

1 random 隨機數函式 函式將返回給定最小值和最大值之間的隨機數。例 將返回100到999之間的隨機數。自動生成的值為543,其被放置於引數test中,要使用這個值,只用直接使用 呼叫即可 使用參考 2 csvread 從檔案中讀取指定列的值 用於對指令碼進行引數化,當指令碼中不同變數需要不同...

jmeter函式助手

jmeter進行壓測某個介面時,使用同乙個引數進行壓測是不符合實際場景的,真實的場景是多個不同引數同時進行壓測試,那麼配置的引數就必須是動態的變數。jmeter提供了乙個函式助手功能。隨機數字是一種比較常見的引數化場景,比如在 pinter com getsku?id 1介面中,id引數可以傳乙個隨...