軟件測試 |JMeter怎樣引用函數(shù)和變量
在測試元件中引用某個變量,可以通過使用“${”和“}”將變量名括起來實(shí)現(xiàn)。
函數(shù)使用相同的辦法加以引用,但是依據(jù)管理,函數(shù)名以“_”開頭,以區(qū)別于變量名。部分函數(shù)會攜帶參數(shù),參數(shù)放在圓括號中,以逗號加以分隔。如果函數(shù)沒有參數(shù),那么可以省略圓括號。
如果參數(shù)值中包含逗號,必須對其加以轉(zhuǎn)義。如果測試人員需要在參數(shù)值中包含一個逗號,可以這樣轉(zhuǎn)義:“\,”。這主要影響腳本函數(shù),例如JavaScript、BeanShell、Jexl有必要對腳本方法調(diào)用中的所有逗號加以轉(zhuǎn)義。例如:
另外,測試人員還有一種選擇,即將腳本定義為一個變量,例如,在測試計劃中定義:
腳本可以如下般引用:
這里沒必要對SCRIPT變量的內(nèi)容進(jìn)行轉(zhuǎn)義,因?yàn)楹瘮?shù)的調(diào)用先于變量被其值所替換。該方法適用于BSF或者BeanShell采樣器,這兩種采樣器可以用于測試JavaScript、jexl和BeanShell腳本。
函數(shù)可以引用變量及其他函數(shù),例如${_XPath(${_P(xpath.file),${XPATH}})},使用“xpath.file”作為文件名,變量XPATH的內(nèi)容作為搜索表達(dá)式。
JMeter提供了一個工具,用來幫助測試人員使用各種內(nèi)置函數(shù)實(shí)現(xiàn)函數(shù)調(diào)用。使用該工具,只需復(fù)制-粘貼。工具不會為測試人員自動轉(zhuǎn)義值,因?yàn)楹瘮?shù)可以作為其他函數(shù)的參數(shù),測試人員應(yīng)該只對文本進(jìn)行轉(zhuǎn)義。
用戶可以使用_logn()函數(shù)來報告變量或者函數(shù)的值。_logn()函數(shù)可以在測試計劃中的任何地方被引用,前提條件是被報告的值已經(jīng)被定義。另外,Java請求采樣器可以被用來產(chǎn)生產(chǎn)生一個包含變量引用的采樣;輸出結(jié)果會在合適的監(jiān)聽器中展示。JMeter2.3及其以后版本中包含一個Debug Sampler,可以使用它來展示變量的值(如在查看結(jié)果數(shù)中展示)。
函數(shù)助手對話框
測試人員可以在JMeter的選項(xiàng)菜單中找到函數(shù)助手對話框(“Function Helper”對話框),

使用函數(shù)助手,測試人員可以從下拉列表中選擇一個函數(shù),并為其參數(shù)設(shè)定值。在上圖中,表格的左邊一列是函數(shù)參數(shù)的簡要概述,右邊一列是供用戶填充參數(shù)的值,不同函數(shù)要求的參數(shù)也不同。
當(dāng)測試人員完成以上設(shè)置后,請單擊“Generate”按鈕,函數(shù)助手會為測試人員生成函數(shù)調(diào)用所需的字符串,測試人員所做的只是將它復(fù)制-粘貼到測試計劃中去。