Jmeter函数$ {__ time(,)}的值未更新

时间:2019-06-17 13:20:25

标签: jmeter

  1. 我在一段时间内有一个http心跳请求(SendHeartbeat为1)控制器
  2. 除了请求,还有一个后处理程序,其代码如下所述
  3. 此处的AgentDuration为60000(1分钟),并将LoginTime设置为触发登录http请求的时间
  4. 代理登录1分钟后,我应该不在while循环中
  5. 这永远不会发生,因为如果条件总是被评估为false,因为${__time(,)}的值始终被设置为在while循环中首次运行后处理器的时间值。

代码:

 if(${__time(,)} - vars.get("LoginTime").toLong() >
vars.get("AgentDuration").toLong())
 {
        vars.put("SendHeartbeat", "0")
        log.info("C1 disconnected at: " + ${__time(,)}.toString())
 }

1 个答案:

答案 0 :(得分:1)

请勿在脚本内使用${}语法,而应使用getTime()而不是${__time(,)}

 if(new Date().getTime() - vars.get("LoginTime").toLong() > vars.get("AgentDuration").toLong()) {