Как установить значение для переменной в Jmeter - PullRequest
0 голосов
/ 18 декабря 2018

Я использую JSR223 Sampler и пытаюсь выполнить арифметические операции ..

try {
    setStrictJava(true);
    int a=1;
    int b=2;
    int c = a+b;
    vars.put("c",c);
} catch(Exception ex) {
    log.error("something wrong", ex);
    throw ex;
}

Получение следующей ошибки ..

2018-12-18 18:19:59,554 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: Sourced file: inline evaluation of: ``try{ setStrictJava(true); int a=1; int b=2; int c = a+b; vars.put("c",c); } catc . . . '' : Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables' : at Line: 6 : in file: inline evaluation of: ``try{ setStrictJava(true); int a=1; int b=2; int c = a+b; vars.put("c",c); } catc . . . '' : vars .put ( "c" , c ) 
 in inline evaluation of: ``try{ setStrictJava(true); int a=1; int b=2; int c = a+b; vars.put("c",c); } catc . . . '' at line number 6
javax.script.ScriptException: Sourced file: inline evaluation of: ``try{ setStrictJava(true); int a=1; int b=2; int c = a+b; vars.put("c",c); } catc . . . '' : Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables' : at Line: 6 : in file: inline evaluation of: ``try{ setStrictJava(true); int a=1; int b=2; int c = a+b; vars.put("c",c); } catc . . . '' : vars .put ( "c" , c ) 

Как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вам необходимо преобразовать вашу переменную в строку , чтобы можно было использовать vars.put () , например:

vars.put("c", String.valueOf(c));

или использовать vars.putObject () вместо функции

vars.putObject("c", c);

Также помните, что вы должны использовать язык Groovy в сэмплере JSR223 , в этом случае выпридется удалить строку setStrictJava(true);, иначе ваш код не будет работать.

0 голосов
/ 18 декабря 2018

Вы должны преобразовать в строку вашу числовую переменную:

int a = 1;
int b = 2;
int c = a + b;
vars.put("c", c.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...