2013-10-07 29 views
5

içinden {thread, Thread-Group, Test-Plan} içinde olacak şekilde tanımlamak için, örnekleyicilerindeki metne göre özel bir raporun oluşturulduğu bir test planı yazmaya çalışıyorum. Bu üç düzeyde değişkenleri doğru bir şekilde kapsamamıştım.JMeter | Kapsamları 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"); 

Şimdi birden fazla Thread-Group oluşturmayı deneyin ve bu BeanShell örnekleyicisini her birine ekleyin.

Yalnızca bir İş parçacığı grubunun tüm iş parçacıklarında bir değişken nasıl kullanılabilir (diğer iş parçacığı gruplarında değil). Farklı iş parçacığı gruplarında sabit benzersiz adlar oluşturmak bir seçenek değildir. Birisi bana yardımcı olabilir. Şimdiden teşekkürler.

cevap

2

BeanShell Örnekleyici'yi ekleyin ve bu kodu ekleyin:

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

enter image description here

+1

değişkenin kapsamı yalnızca iplik seviyesi olacağımı. Komut dosyasını birden çok iş parçacığında çalıştırırsanız ve her bir iş parçacığındaki değişkeni farklı bir şekilde (ayrı karakterleri ekleyin) değiştirirseniz, log.info() sonucunu görür ve görürsünüz, beklendiği gibi çalışmayacaktır. – Rajan