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