JMeter | Как определить переменные так, чтобы их область видимости находилась в {thread, Thread-Group, Test-Plan} из BeanShell

Я пытаюсь написать план тестирования, в котором пользовательский отчет создается на основе текста на сэмплерах. Я не мог правильно определить переменные на этих трех уровнях.

loc = vars.get("local_count");
if(loc == null){
   vars.put("local_count", "1");//available only in local thread level
}else{
   temp = Integer.parseInt(loc) + 1;
   vars.put("local_count", temp.toString());
}
log.info("the local count is " + vars.get("local_count");

glo = props.get("global_count");
if(glo == null){
   props.put("global_count", "1");//available in test plan level
}else{
   temp1 = Integer.parseInt(glo) + 1;
   props.put("global_count", temp1.toString());
}
log.info("the global count is " + props.get("global_count");

Теперь попробуйте создать несколько Thread-Group и добавить этот семплер BeanShell в каждую из них.

Как сделать переменную доступной только во всех потоках группы потоков (но не в других группах потоков). Предоставление уникальных констант имен в разных группах потоков не является вариантом.?

Может ли кто-нибудь мне помочь. Заранее спасибо.


person Rajan    schedule 07.10.2013    source источник
comment
Вы получили ответ на этот вопрос?   -  person qwertynik    schedule 28.10.2020
comment
Использование vars.put сработало.   -  person qwertynik    schedule 28.10.2020


Ответы (1)


Добавьте BeanShell Sampler и вставьте этот код:

vars.put("test","abcd");

введите описание изображения здесь

person Bobur Meliev    schedule 07.10.2013
comment
Область действия этой переменной будет только на уровне потока. Если вы запустите сценарий в нескольких потоках - и измените переменную по-разному (добавьте отдельные символы) в каждом потоке, log.info () вы увидите результат и увидите, он не будет работать должным образом. - person Rajan; 07.10.2013