Значение функции Jmeter $ {__ time (,)} не обновляется - PullRequest
0 голосов
/ 17 июня 2019
  1. У меня есть запрос сердцебиения http (контроллер SendHeartbeat равен 1)
  2. Наряду с запросом существует постпроцессор с кодом, указанным ниже
  3. Здесь AgentDuration - 60000 (1 мин), а LoginTime - это время, когда http-запрос на вход в систему запускается
  4. Здесь я должен выйти из цикла while через 1 минуту после входа в систему агента
  5. Однако этого никогда не происходит, потому что если условие всегда оценивается как ложное, потому что значение ${__time(,)} всегда устанавливается на значение времени, когда постпроцессор был впервые запущен в цикле while.

Код:

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

1 Ответ

1 голос
/ 17 июня 2019

Не используйте ${} синтаксис внутри скриптов, используйте getTime() вместо ${__time(,)}:

 if(new Date().getTime() - vars.get("LoginTime").toLong() > vars.get("AgentDuration").toLong()) { 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...