2017-09-25 47 views
1

我正在嘗試創建一個簡單的計數器,將迭代編號打印到日誌中。 問題是,我沒有找到一種方法來初始化我的int值爲0. 如果我會在Beanshell腳本中執行它,它將繼續初始化,我需要它在運行的開始時只運行一次測試。 我的代碼:如何使用Beanshell創建簡單的計數器?

int i=0; 
log.info(string.valueOf(i)); 
i=i+1; 

回答

2

添加一旦唯一的控制器,在它之下JSR223採樣與初始化

vars.putObject("i", 0); 

然後你可以增加它後(不低於控制器)與其他JSR223採樣:

myI = vars.getObject("i") 
log.info(String.valueOf(myI)); 
vars.putObject("i", ((Integer)myI+1)); 
+0

遇到錯誤安裝__iterationNum()功能Custom JMeter Functions包的一部分。我應該在JSR223採樣器下選擇哪種語言? –

+0

我用groovy。你的錯誤是什麼? – user7294900

+0

確定它現在有效。我在測試計劃下添加了用戶定義變量「i」,然後將lang更改爲Groovy。謝謝! –

1

建議在可能的情況下避免編寫腳本,如果您的腳本不能運行,您應該使用性能最佳的選項是JSR223 Test ElementsGroovy語言。

尤其是你的情況下,可以在沒有任何腳本來實現,你可以使用下面的JMeter的功能:

因此,如果您使用如下語句:${__log(Current iteration is: ${__iterationNum},,,)} JMeter將返回函數所在的位置調用並額外打印相應的消息到日誌文件。

演示:

JMeter IterationNum Function Demo

可以使用JMeter Plugins Manager

JMeter Custom Functions Plugins Manager

相關問題