BeanShell是什麼?
- BeanShell是一種完全符合Java語法規範的腳本語言,並且又擁有自己的一些語法和方法;
- BeanShell是一種鬆散類型的腳本語言;
- BeanShell是用Java寫成的,一個小型的、免費的、可以下載、嵌入式的Java源代碼解釋器,具有對象腳本的特性;
- BeanShell可以執行標準Java語句和表達式,以及另外自身的一些腳本命令和語法。
Jmeter中有哪些BeanShell組件
- 定時器:BeanShell Timer
- 前置處理器:BeanShell PreProcessor
- 採樣器:BeanShell Sampler
- 後置處理器:BeanShell PostProcessor
- 斷言:BeanShell Assert(使用方法連接)
- 監聽器:BeanShell Listener
BeanShell常用內置變量
Jmeter在它的BeanShell中內置了變量,用戶可以通過這些變量和Jmeter進行交互,其中主要的變量及使用方法如下:
-
log:寫入信息到jmeter.log,使用方法:log.info(“message”),也可以在
jmeter gui
上看到打印的信息,如下:
-
ctx:該變量引用了當前線程的上下文,參見org.apache.jmeter.threads.JMeterContext
-
vars:操作jmeter變量,這個變量實際上引用了Jmeter線程中的局部變量容器(本質是
map
),測試用例可以通過它獲取到變量的值;
使用方法:
(a) vars.get(String key),從jmeter中獲得變量值
(b) vars.put(String key, String value),數據存到jmeter變量中 -
props:該變量引用jmeter的配置信息,可以獲取jmeter的屬性,用法如下:
(a) props.get(String key)獲取jmeter.properties
中的屬性值
(b) props.put(String key, String value)設置jmeter.properties
中的屬性值 -
prev(對應SampleResult):獲取前面Sampler返回的信息,常用方法:
(a) getResponseDataAsString(),獲取響應信息
(b) getResponseCode(),獲取響應Code