jmeter中雖然有很多的插件,但是有些需要安裝,有些具有一定的侷限性。函數助手是一個快捷的工具庫。下面記錄一下函數助手中一些主要的函數的使用方法。

注:不內容中所有的實例均基於3.2記錄

1、_BeanShell

jmeter鈎子函數_java

 

表達式請求值後的值:可以是一個程序語句也可以是BeanShell腳本文件。如:“test”+“ing”

Name of variable in which to store the result (optional):存儲變量的表達式。如:name

點擊生成按鈕則會生成一串以$開頭的表達式,如圖。該表達式在請求中是可以直接調用的。

 

2、_char

jmeter鈎子函數_jmeter鈎子函數_02

作用:將一個數字轉化成Unicode字符。比如圖中輸入的是67、68,則對應的Unicode碼就應該是:C、D。在請求時自動轉化為C、D 作為參數進行傳遞

 

3、_counter

jmeter鈎子函數_IP_03

作用:可以作為一個計數器進行使用。

特點:支持多線程(類似於多用户),比如有線程1、線程2.這個計數器可以吧兩個線程進行分開記錄(此時選擇true),也可以把兩個線程合在一起就行記錄(此時選false)

可以與函數${_threadNum}合在一起使用,該函數主要是顯示當前線程ID的.

 

4、_CSVRead

作用:主要是從文件中讀取指定列的值,具體用法以及使用場景如下:

  • »   讀取固定值

jmeter鈎子函數_IP_04

如圖表示是從testing.txt這個文件中的第0列(實際是讀取第1列,編號是從0開始),多次迭代時值是不會改變的,還是第一行第一列的值。

實際使用的較少,類似於讀取的是一個定值。

  • »  讀取動態值

  在表達式結尾加上next(),既:${__CSVRead(D:\test\testing.txt,next())},這樣會告知程序在下一次迭代時取下一行值

但是在實際使用的時候我們可以這樣填寫:${__CSVRead(D:\test\testing.txt,0)}${__CSVRead(D:\test\testing.txt,next())}    至於前邊為什麼要加${__CSVRead(D:\test\testing.txt,0)},具體差異可以自己試一試,你肯定有收穫的。

  • »  可以使用文件別名

  我們使用file作為D:\test\testing.txt文件的別名,在正常使用時我們只用使用別名就可以正常引用文件中的值了,使用格式為:${__CSVRead(*file,1)},個人不喜歡用。

 

5、_FileTostring

jmeter鈎子函數_jmeter鈎子函數_05

用途:一次性的讀取指定文件中的所有內容

表達式解讀:將文件testing.txt文件中的所有的內容一次性全部讀取,並且以utf-8的格式存儲在變量名test中,在其他請求中可以通過test來引用testing.txt文件中的值

 

6、_intSum

jmeter鈎子函數_變量名_06

用來對整數的求和,支持多個整數相加,多個輸之間用英文逗號分隔開。

如:相加過程為20+20+30,將相加結果存儲在變量名test中,可以在其他請求中進行正常調用。

使用場景,當有多個變量數字需要相加後將相加的結果進行傳遞時可以使用。

 

7、_javaScript

jmeter鈎子函數_jmeter鈎子函數_07

此函數相對於瞭解java的人使用起來更方便,在於對java函數的瞭解

對生成的函數進行解釋:調用java中的時間函數new Date()來獲取當前時間,然後保存在變量名test中,可以被其他函數進行調用。在實際使用過程中可以換成自己所需要的函數進行調用

8、_log

jmeter鈎子函數_jmeter鈎子函數_08

日誌,如圖:輸入的字符串是testing,正常情況下返回也是testing。

參數説明:

string be logged:將會被日誌輸出的字符串

Log level or OUT orERR:用來指定日誌的輸出級別。日誌級別分別有:OUT 、ERR、DEBUG、INFO、WARN or ERROR

OUT:在控制枱打印出來(可以點擊菜單欄的警告符號按鈕查看)也會打印在標準輸出窗口。

ERR:在控制枱輸出日誌信息,同時也打印到標準輸出。

DEBUG:在控制枱打印信息,DEBUG級別以上的都將打印。

Throwable text:拋出異常信息

 

9、_machineIP

jmeter鈎子函數_IP_09

生成的函數解釋:通過該函數將本機的IP返回並存儲在變量test中,可以被其他請求正常所引用

使用場景:一個請求需要使用本機IP且每次本機IP為可變時的場景

 

10、關於隨機數函數的使用請到這裏:

11、_threadNum

用來返回顯示當前請求的線程號

12、_time

jmeter鈎子函數_變量名_10

返回時間,將返回的時間存儲在test變量名中,可以被其他請求所正常所引用。

當輸入:yyyy-MM-dd HH:mm:ss 時返回的時間格式為:2018-12-31 17:57:59

當輸入:yyyyMMdd 時返回的時間格式為:20181213

當函數為:${__time(YMDHMS,)}時,返回的時間格式為:20181213-1802598

當函數為:${__time(,)}時,返回的是時間戳,精確到毫秒級別, 13位數

當函數為:${__time(/1000,)}時,返回的是時間戳,精確到秒級別, 10位數

 13、關於jmeter中主要管理器的功用介紹的請點:

14、 Xpath後續

學如逆海行舟,不進則退。