Я пытаюсь написать план тестирования, в котором создается пользовательский отчет на основе текста на семплерах. Я не мог правильно охватить переменные на этих трех уровнях.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 в каждом из них.
Как сделать переменную доступной во всех потоках группы потоков (не для других групп потоков). Предоставление постоянных уникальных имен в разных группах потоков не является вариантом.?
Может ли кто-нибудь мне помочь. Спасибо заранее.
Это сфера переменной будет только уровень резьбы. Если вы запускаете скрипт в нескольких потоках и изменяете переменную по-разному (добавляете отдельные символы) в каждом потоке, log.info() результат и видите, он не будет работать должным образом. – Rajan