大家都知道在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引數可以傳乙個隨...