BeanShell相當于在JMeter中植入一段java代碼。
在JMeter中有下面這些BeanShell
-
- 定時器
BeanShell Timer
- 前置處理器
BeanShell PreProcessor
- 采樣器
BeanShell Sampler
- 後置處理器
BeanShell PostProcessor
- 斷言
BeanShell Assert
- 監聽器
BeanShell Listener
BeanShell 與 JMeter 之間通過内置變量
vars
進行互動,而vars和java使用的HashMap相同,常使用
vars.put(key,value)
添加一組變量的鍵值對。
案例
前置處理器使用案例
線程組設定為5,随便設就行
設定變量的模闆
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
//格式化
DateTimeFormatter fmDate = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss SSS");
//當天
LocalDateTime today = LocalDateTime.now();
String time=today.format(fmDate);
log.info(time);
vars.put("time",time);// 設定一個變量
在這段代碼中有用到日志,日志的輸出是JMeter右上方的黃色感歎号
如下将上面一串java代碼放入script中,這段代碼作用就是将目前時間 存入變量中
如下會發現這段java代碼生效了,目前時間在變化着
同理,BeanShell的其它子產品和前置處理器一樣,總之
BeanShell的作用就是植入一段java代碼,有時候jmeter沒有做的那麼好,就需要寫一點程式。