鍍金池/ 教程/ Java/ JMeter函數(shù)
JMeter Webservice API測試計劃
JMeter測試計劃
JMS主題測試計劃
JMeter測試計劃元素
JMeter Web測試計劃
JMeter函數(shù)
JMeter計時器
JMeter監(jiān)聽器
JMeter是什么?
JMeter分布式負載測試(吞吐量控制器)
JMeter FTP測試計劃
JMeter工作流程
JMeter數(shù)據(jù)庫測試計劃
測試基本術語
JMeter錄制登錄測試
JMeter控制器
JMS點對點測試計劃
JMeter安裝
JMeter預處理器元素
構建JMeter測試計劃
JMeter配置元素
JMeter JMS測試計劃
JMeter特性
JMeter線程組
JMeter教程
JMeter后處理器元素

JMeter函數(shù)

JMeter函數(shù)可以稱為特殊值,可以填充測試樹中任何Sampler或其他元素的字段。
JMeter中函數(shù)的語法:

${__functionName(var1,var2,var3)} ,

這里__ functionName匹配函數(shù)的名稱,圓括號圍繞發(fā)送給函數(shù)的參數(shù)。

如果函數(shù)參數(shù)包含逗號,那么請務必使用“\”對其進行轉義,否則JMeter會將其視為參數(shù)分隔符。
例如:

${__time(EEE\, d MMM yyyy)}

函數(shù)列表

函數(shù)類型 名稱 注解
信息 threadNum 獲取線程號
信息 samplerName 獲取采樣器名稱(標簽)。
信息 log 記錄(或顯示)消息(并返回值)。
信息 machineName 獲取本地計算機名稱。
輸入 StringFromFile 從文件中讀取一行。
輸入 FileToString 讀取整個文件。
輸入 CSVRead 從CSV分隔文件中讀取。
輸入 XPath 使用XPath表達式從文件中讀取。
計算 Counter 生成遞增數(shù)字。
計算 intSum 相加int數(shù)字。
計算 longSum 相加long數(shù)字。
計算 Random 生成一個隨機數(shù)。
計算 RandomString 生成隨機字符串。
腳本 BeanShell 運行BeanShell腳本。
腳本 javaScript 運行javaScript腳本。
腳本 jexl, jexl2 評估Commons Jexl表達式。
屬性 Property 讀取property文件。
屬性 P 讀取一個屬性(速記方法)。
變量 Split 將字符串拆分為變量。
變量 eval 評估變量表達式。
字符串 regexFunction 使用正則表達式解析先前的響應。
字符串 escapeOroRegexpChars 引用ORO正則表達式使用的元字符。
字符串 Char 從數(shù)字列表生成Unicode char值。
字符串 Unescape 包含Java轉義的進程字符串(例如\n&\t)。
字符串 unescapeHtml 解碼HTML編碼的字符串。
字符串 escapeHtml 使用HTML編碼對字符串進行編碼。
字符串 TestPlanName 返回當前測試計劃的名稱。

注意:JMeter函數(shù)和變量始終區(qū)分大小寫。

讓我們考慮一個Log Function的例子來理解JMeter中函數(shù)的使用。

JMeter日志函數(shù)的語法:

${__log("message")}

首先,我們將使用HTTP請求采樣器創(chuàng)建一個簡單的測試計劃。

創(chuàng)建JMeter測試計劃

  • 進入到JMeter/bin文件夾并雙擊jmeter.bat文件以啟動JMeter界面。
  • 選擇測試計劃節(jié)點,然后右鍵單擊所選項目。
  • 鼠標懸停在“Add”選項上,然后將顯示元素列表。
  • 選擇“Threads (Users)” > “Thread Grou”。
  • 將此線程組重命名為Thread Group 1。

添加采樣器

我們必須在線程組中添加一個HTTP請求采樣器。

  • 選擇“Thread Group”,然后右鍵單擊所選項。
  • 鼠標懸停在“Add”選項上,然后將顯示元素列表。
  • 選擇Sampler > HTTP請求選項。
  • 它將添加一個空的HTTP請求采樣器。

將HTTP Request Sampler的字段配置為 -

  • Name - HTTP請求采樣器1。
  • Server名稱或IP - 在示例中,Web服務器名稱將為 - www.yiibai.com 。
  • Protocol - 此字段保持不變。
  • Path - 我們將其寫為“/”(斜杠)。 它表示我們想要服務器的根頁面。

現(xiàn)在,復制整個線程組1 并將其粘貼在測試計劃中三次。

  • 將其他線程組分別重命名為線程組2線程組3。
  • 將其他采樣器分別重命名為HTTP Request 2HTTP Request 3。

下圖顯示了測試計劃的目錄結構。

添加監(jiān)聽器

  • 選擇“Test Plan”節(jié)點,然后右鍵單擊所選項目。
  • 鼠標懸停在“Add”選項上,然后將顯示元素列表。
  • 選擇 Listener -> Summary Report。

保存并執(zhí)行測試計劃

  • 單擊文件 -> 將測試計劃另存為。
  • 將整個測試計劃保存為Function_test.jmx。
  • 單擊“Run” -> “Start” 以執(zhí)行測試計劃。

驗證輸出

因此,已經(jīng)成功執(zhí)行了測試計劃。 現(xiàn)在,我們將使用log函數(shù)作為第一個HTTP Request Sampler的名稱。

您可以看到日志功能已打印“Hello World”而不是完整的采樣器名稱。 讓我們來看看一個時間函數(shù)的例子,將再次使用它作為第二個HTTP采樣器的名稱。

時間函數(shù)的語法:

${__time(dd MM YYYY HH mm ss)}

單擊Run > Start 以執(zhí)行測試計劃。

可以看到時間函數(shù)已打印確切的時間和日期,而不是完整的采樣器名稱。
要獲得有關JMeter函數(shù)及其用法的更多信息,請參閱以下鏈接提供的Apache JMeter文檔:
http://jmeter.apache.org/usermanual/functions.html