Jmeter——BeanShell 内置变量vars、props、prev的使用( 二 )


功能获取变量的值(不转换为字符串) 。若变量不存在则返回null
remove方法声明public Object remove(String key)
功能删除一个变量,并返回变量的值,若变量不存在则返回 null
vars.put("name","温一壶清酒 博客园");vName = vars.remove("name");log.info("vName:"+ vName);vSex = vars.remove("sex");log.info("vSex:"+ vSex);

Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
propsprops 映射 java.util 的 Properties 类 。java.util.Properties 这个类是线程安全的;多个线程可以共享一个 Properties 对象
vars跟props的区别
  • vars 是对变量进行读写操作,而 props 主要是对属性进行读写操作
  • vars 只能在当前线程组内使用,props 可以跨线程组使用,因为属性可以跨线程组但是变量不行
  • vars 只能保存 String 或者 Object,props 可以是 Hashtable 或者 Object
getProperty方法声明public String getProperty(String key)
public String getProperty(String key, String defaultValue):当 key 不存在则返回默认值
功能用指定的key在此属性列表中搜索属性,如果在此属性列表中未找到该key,则接着递归检查默认属性列表及其默认值 。如果未找到属性,则此方法返回 null
timeFormat = props.getProperty("jmeter.save.saveservice.timestamp_format");log.info("timeFormat:"+ timeFormat);propsTest = props.getProperty("jmeter.save.saveservice.timestamp");log.info("propsTest:"+ propsTest);propsTest = props.getProperty("jmeter.save.saveservice.timestamp","温一壶清酒 博客园");log.info("propsTest:"+ propsTest);
Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
get方法声明public synchronized V get(Object key)
功能获取属性值,跟 getProperty 类似
pTimeFormat = props.get("jmeter.save.saveservice.timestamp_format");log.info("pTimeFormat:"+ pTimeFormat);pPropsTest = props.get("jmeter.save.saveservice.timestamp");log.info("pPropsTest:"+ pPropsTest);setProperty方法声明public Object setProperty(String key,String value)
功能设置属性值
props.setProperty("pName","温一壶清酒");propsName = props.getProperty("pName");log.info("propsName:"+ propsName);
Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
put方法声明public synchronized V put(Object key)
功能设置属性值,跟 setProperty 类似
props.put("pName","温一壶清酒");pPropsName = props.get("pName");log.info("pPropsName:"+ pPropsName);propertyNames方法声明public Enumeration<?> propertyNames()
功能返回属性列表中所有key的枚举,如果在主属性列表中未找到同名的key,则包括默认属性列表中不同的key
propsNames = props.propertyNames();propsNames.each{ log.info(it) }
Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
size方法声明public int size()
功能返回有多少个属性
pPropsCount = props.size();log.info("pPropsCount:"+ pPropsCount);
Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
remove【Jmeter——BeanShell 内置变量vars、props、prev的使用】方法声明public synchronized V remove(Object key)
功能删除一个变量,并返回变量的值,若变量不存在则返回 null
props.put("pName","温一壶清酒");rName = props.remove("pName");log.info("rName:"+ rName);rSex = props.remove("sex");log.info("rSex:"+ rSex);
Jmeter——BeanShell 内置变量vars、props、prev的使用

文章插图
prevprev 提供对当前取样器结果的访问能力,映射 org.apache.jmeter.samplers 的 SampleResult 类官方文档: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

经验总结扩展阅读