2013-10-07 11 views
5

Próbuję napisać plan testowy, w którym generowany jest raport niestandardowy na podstawie tekstu na próbnikach. Nie mogłem poprawnie dopasować zmiennych na tych trzech poziomach.JMeter | Jak zdefiniować zmienne w taki sposób, że ich zakres jest w {wątku, wątku-grupie, planie testowym} z poziomu 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"); 

Teraz spróbuj utworzyć wiele wątków i dodaj sampler BeanShell do każdego z nich.

Jak udostępnić zmienną we wszystkich wątkach w grupie wątków (nie w innych grupach wątków). Dostarczanie stałych niepowtarzalnych nazw w różnych grupach wątków nie jest opcją.?

Czy ktoś może mi pomóc. Z góry dzięki.

Odpowiedz

2

Dodaj BeanShell Sampler i wstawić ten kod:

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

enter image description here

+1

To zakres zmiennej będzie tylko poziom wątek. Jeśli uruchamiasz skrypt w wielu wątkach - i modyfikuj zmienną w różny sposób (dołączaj oddzielne znaki) w każdym wątku, log.info() to wynik i zobacz, że nie zadziała zgodnie z oczekiwaniami. – Rajan