Как исправить ошибку Javascript в то время как контроллер? - PullRequest
0 голосов
/ 02 февраля 2019

Я использую контроллер while в своем скрипте Jmeter.Я дал следующее условие в то время как контроллер

${__javaScript(${counter} < 10)}

Хотя условие работает, как ожидалось, но оно выдает ниже ошибки в журналах.

2019-02-02 15:58:21,315 ERROR o.a.j.f.JavaScript: Error processing Javascript: [${counter} < 10]

javax.script.ScriptException: <eval>:1:1 Expected ; but found {
${counter} < 10
 ^ in <eval> at line number 1 at column number 1
    at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470) ~[nashorn.jar:?]
    at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:537) ~[nashorn.jar:?]
    at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:524) ~[nashorn.jar:?]
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402) ~[nashorn.jar:?]
    at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155) ~[nashorn.jar:?]
    at org.apache.jmeter.functions.JavaScript.executeWithNashorn(JavaScript.java:142) [ApacheJMeter_functions.jar:3.2 r1790748]
    at org.apache.jmeter.functions.JavaScript.execute(JavaScript.java:103) [ApacheJMeter_functions.jar:3.2 r1790748]
    at org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:141) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:116) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:101) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.WhileController.getCondition(WhileController.java:124) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.WhileController.endOfLoop(WhileController.java:56) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.WhileController.next(WhileController.java:102) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:219) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.GenericController.next(GenericController.java:173) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.LoopController.next(LoopController.java:123) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:219) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.GenericController.next(GenericController.java:173) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.control.LoopController.next(LoopController.java:123) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:87) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:274) [ApacheJMeter_core.jar:3.2 r1790748]

Любой имеет любойидея причины этой ошибки?Как это исправить?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Возможно, ваша переменная ${counter} не определена во время первой итерации вашего Во время цикла , доступны следующие параметры:

  1. Дайте ${counter}переменная начальное значение, используя, например, определяемые пользователем переменные
  2. Проверьте, установлена ​​ли переменная counter, используя, например, __ isVarDefined () функцию

Однако вы можете убить двух зайцев одним выстрелом, перейдя к функции __ groovy () (кстати, рекомендуемая опция сценариев начиная с JMeter 3.1 ),условие будет:

${__groovy(vars.get('counter') == null || (vars.get('counter') as int) < 10,)}
0 голосов
/ 02 февраля 2019

Может быть, вам не хватает еще нескольких кавычек.

var counter = 42,
    __javaScript = v => `got ${v}`;

console.log(`${__javaScript(`${counter}` < 10)}`);
//                          ^          ^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...