2017-05-05 80 views
1

我想從調試採樣器中選取一個變量,並用一些隨機生成的數字替換變量的字符。我添加了一個用於編寫自定義代碼的BeanShell採樣器。下面是一段代碼:如何用Jmeter中的一些隨機數字替換變量的字符

String myvariable = vars.get("Corr_ContextN"); 
chars1 = new ArrayList(); 
chars2 = new ArrayList(); 

for(int i =0; i<myvariable.length(); i++) { 
chars1.add(myvariable.charAt(i)); } 

String value = chars1.toString(); 

Random randomnumber = new Random(); 
for (int idx=1; idx < 15; ++idx) { 
chars2.add(randomnumber.nextInt(100)); } 

String Newvalue1 = chars2.toString(); 
vars.put("NewVariable", Newvalue1); 

通過以上方式,我得到的調試取樣(NewVariable)的新變量與隨機數的列表。但是我想用這個創建的NewVariable替換現有的變量「Corr_ContextN」。換句話說,現有的變量應該被一些動態生成的數字/變量替換。

請幫我一把。

回答

0

只需更改最後一行是:

vars.put("Corr_ContextN", Newvalue1); 

附:考慮使用JSR223 Sampler而不是Beanshell。您甚至可以重用由Groovy引擎編譯的性能更好的相同代碼。


P.P.S.被告知更容易將使用__Random function這是能夠隨機生成的數字存儲到JMeter變量以及返回它們的位置函數被調用。查看How to Use JMeter Functions系列文章,瞭解JMeter中的函數。

+0

謝謝。這裏的變量Corr_ContextN被隨機數取代,但是變量中的字符數固定爲14,因爲我運行了14次循環。但是我想要顯示變量Corr_ContextN在開頭有多少個隨機數的確切數量。 – raghav

相關問題