Сравните синтаксис в то время как контроллер jmeter 5.0 - PullRequest
0 голосов
/ 20 марта 2019

В моем плане тестирования есть один шаг, чтобы сравнить текущее время с постоянным временем, и оно установлено в то время как контроллер.Когда текущее время ниже, чем постоянное время, поток войдет внутрь и сделает несколько шагов.

Но у меня проблема с синтаксисом на контроллере While.Он всегда замечает java.lang.StackOverFlowError.Вот мое состояние в контроллере while:

$ {__ BeanShell (System.currentTimeMillis ())}

ASTime: постоянное время, которое я установил с самого начала.

Как изменить синтаксис на контроллере while?Кто-нибудь знает об этой проблеме?

1 Ответ

0 голосов
/ 20 марта 2019

С синтаксисом контроллера все в порядке, проблема в вашем состоянии.Вы должны поместить сравнение в функцию __Beanshell (), например:

${__BeanShell(System.currentTimeMillis() < Long.parseLong(vars.get("ASTime")),)}

Несколько моментов, которые следует учитывать:

  1. Согласно JMeter Best Practices начиная с JMeter 3.1вы должны использовать JSR223 Test Elements и язык Groovy , в вашем случае это будет __ groovy () функция .Синтаксис будет точно таким же:

    ${__groovy(System.currentTimeMillis() < Long.parseLong(vars.get("ASTime")),)}
    
  2. В соответствии с тем же JMeter Best Practices вы всегда должны использовать последнюю версию JMeter , поэтомурассмотрите возможность обновления до JMeter 5.1 (или любой последней версии, доступной на странице JMeter Downloads ) как можно скорее.

...