天天看點

Jmeter 中的BeanShell使用

BeanShell相當于在JMeter中植入一段java代碼。

在JMeter中有下面這些BeanShell

  1. 定時器​

    ​BeanShell Timer​

  2. 前置處理器 ​

    ​BeanShell PreProcessor​

  3. 采樣器 ​

    ​BeanShell Sampler​

  4. 後置處理器 ​

    ​BeanShell PostProcessor​

  5. 斷言 ​

    ​BeanShell Assert​

  6. 監聽器 ​

    ​BeanShell Listener​

BeanShell 與 JMeter 之間通過内置變量​

​vars​

​​進行互動,而vars和java使用的HashMap相同,常使用​

​vars.put(key,value)​

​添加一組變量的鍵值對。

案例

前置處理器使用案例

線程組設定為5,随便設就行

Jmeter 中的BeanShell使用

設定變量的模闆

Jmeter 中的BeanShell使用
Jmeter 中的BeanShell使用
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右上方的黃色感歎号

Jmeter 中的BeanShell使用

如下将上面一串java代碼放入script中,這段代碼作用就是将目前時間 存入變量中

Jmeter 中的BeanShell使用

如下會發現這段java代碼生效了,目前時間在變化着

Jmeter 中的BeanShell使用

同理,BeanShell的其它子產品和前置處理器一樣,總之

BeanShell的作用就是植入一段java代碼,有時候jmeter沒有做的那麼好,就需要寫一點程式。