一、时间日期函数
1、${__time()}:获取当前时间
时间格式:yyyy-MM-dd HH:mm:ss
dd-MM-y-HH-mm-ss
dd/MM/yyyy
2、__TimeShift(格式,日期,移位,语言环境,变量):可对日期进行移位加减操作
格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。
日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。
移位 - 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。
“P1DT2H4M5S” 解析为“添加1天2小时4分钟5秒”
“P-6H3M”解析为“-6小时+3分钟”
“-P6H3M”解析为“-6小时-3分钟”
“-P-6H + 3M”解析为“+6小时和-3分钟”
区域设置 - 设置创建日期的显示语言。不是必填项
变量 - 创建日期的值将被分配给的变量的名称。不是必填项
3、__RandomDate:时间段内随机取值时间
二、获取信息函数
1、__TestPlanName
用法:${__TestPlanName},返回当前测试计划的名称;
如:测试计划名称是 Demo.jmx, 即返回 Demo.jmx。
2、__threadGroupName
用法:${__threadGroupName},返回当前线程组的名称,从 4.1 版本开始启用。
该函数不能用在任何配置元件中(如用户定义的变量),因为配置元件是由另外的独立线程运行的,它也不能在测试计划(Test Plan)中使用。
3、__threadNum
用法:${__threadNum},返回当前正在执行的线程的编号,而且不依赖于线程组;
也就是说以这个函数的结果来看,不能区别线程组1的线程#1 和 线程组2的线程#1
不能用在配置元件 和 测试计划中。
4、__samplerName
用法:${__samplerName()},返回当前请求的名称。
5、__log
记录一条日志,并返回函数的输入字符串。
可以设置不同的日志级别,如 OUT 和 ERR 将会分别输出记录到 System.out 和 System.err 中。在这种情况下,输出总是会被打印(它不依赖于当前的日志设置)。
三、数据计算函数
1、__counter
每次调用该计数器函数都会产生一个新值,从1开始每次加1。
计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。
如果每个虚拟用户的计数器是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求。
计数器使用一个整数值来记录,允许的最大值为 2,147,483,647。 目前计数器函数实例是独立实现的(JMeter 2.1.1及其以前版本,使用一个固定的线程变量来跟踪每个用户的计数器,因此多个计数器函数会操作同一个值)。全局计数器(FALSE)的每个计数器实例都是独立维护的。
该函数也有对应的配置元件:计数器,功能类似。