Jmeter常见函数使用方法汇总
在Jmeter测试中,我们经常需要使用函数来对数据进行处理,Jmeter提供了许多常用的函数,可以用于解析、处理、比较等一系列操作。本文将详细介绍Jmeter常见函数的使用方法,并提供两个示例说明。
一、Jmeter常见函数
Jmeter提供了丰富的内置函数,以下是常见的几个:
-
__time:返回当前的时间戳。
-
__threadNum:返回当前线程的编号。
-
__counter:计数器函数,根据指定的步长和起始计数值,生成序列数值。
-
__Random:生成指定区间内的随机数。
-
__char:生成指定字符编码的字符。
-
__property:获取或设置全局属性。
-
__P:获取或设置用户自定义的属性。
-
__V:获取运行时变量的值。
二、常见函数的使用方法
1. __time
__time函数用于获取当前的时间戳,语法如下:
${__time()}
如果需要将当前时间戳加上20秒,可以使用以下语法:
${__time(,20)}
2. __threadNum
__threadNum函数返回当前线程的编号,语法如下:
${__threadNum}
如果需要将当前线程编号加上1,可以使用以下语法:
${__threadNumPlusOne()}
3. __counter
__counter函数可以生成一个计数器,用于生成序列数值。语法如下:
${__counter(start,increment,format)}
其中,start为计数器的起始值,increment为计数器的步长,format为数值格式。
例如,我们需要生成从10开始,步长为1,长度为3位的序列数值,可以使用以下语法:
${__counter(10,1,000)}
4. __Random
__Random函数可以生成一个指定区间内的随机数。语法如下:
${__Random(min,max)}
例如,我们需要生成一个1到5之间的随机数,可以使用以下语法:
${__Random(1,5)}
5. __char
__char函数可以生成一个指定字符编码的字符。语法如下:
${__char(number)}
其中,number为字符编码对应的数字。
例如,我们需要生成一个小写字母a,可以使用以下语法:
${__char(97)}
6. __property
__property函数用于获取或设置全局属性。语法如下:
${__property(propertyName[,defaultValue])}
其中,propertyName为全局属性的名称,defaultValue为默认值。
例如,我们需要获取全局属性“URL”,可以使用以下语法:
${__property(URL)}
7. __P
__P函数可以获取或设置用户自定义的属性。语法如下:
${__P(propertyName[,defaultValue])}
其中,propertyName为自定义属性的名称,defaultValue为默认值。
例如,我们需要获取自定义属性“username”,可以使用以下语法:
${__P(username)}
8. __V
__V函数用于获取运行时变量的值。语法如下:
${__V(variableName)}
其中,variableName为变量的名称。
例如,我们需要获取变量“msg”的值,可以使用以下语法:
${__V(msg)}
三、示例说明
示例一:生成批量用户名密码
我们需要生成100个测试用的用户名和密码。
我们可以使用__counter函数生成100个序列值,并使用__char函数生成随机用户名和密码,具体语法如下:
${__char(${__Random(97,122)})}${__char(${__Random(97,122)})}_${__counter(1001,1)}
对于密码的生成,我们可以使用以下语法:
${__Random(1000,9999)}_${__char(${__Random(65,90)})}${__char(${__Random(97,122)})}
其中,${__char(${__Random(97,122)})}生成一个a到z中的随机字符,${__counter()}生成序列数值,${__Random(1000,9999)}生成4位随机数,${__char(${__Random(65,90)})}${__char(${__Random(97,122)})}生成一个大写字母加一个小写字母。
示例二:使用全局属性
我们在测试中需要使用到全局属性“URL”,如果需要修改URL,可以使用__property函数设置URL的值。
${__property(URL)}
如果需要测试的服务器变化了,我们只需要修改全局属性的值,所有的请求都会自动使用新的URL。