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

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方法声明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
getResponseCode方法声明public String getResponseCode()
功能获取响应状态码
responseCode = prev.getResponseCode() ;log.info("responseCode:" + responseCode);2022-10-04 15:34:29,057 INFO o.a.j.u.BeanShellTestElement: responseCode:200isResponseCodeOK方法声明public boolean isResponseCodeOK()
功能判断响应状态码是否为OK对应的状态码(200),结果只有true和false
responseCodeBoolean = prev.isResponseCodeOK();log.info("responseCodeBoolean:" + responseCodeBoolean);2022-10-04 15:36:35,077 INFO o.a.j.u.BeanShellTestElement: responseCodeBoolean:truegetThreadName方法声明public String getThreadName()
功能获取线程名
prevThreadName = prev.getThreadName();log.info("prevThreadName:" + prevThreadName);2022-10-04 15:39:17,955 INFO o.a.j.u.BeanShellTestElement: prevThreadName:prevThreadNamegetResponseDataAsString方法声明public String getResponseDataAsString()
功能获取String类型的响应结果
prevResponse = prev.getResponseDataAsString();log.info("prevResponse:" + prevResponse);getStartTime获取请求开始时间
getEndTime获取请求结束时间
getSamplerData获取请求内容
好了,以上就是平时经常用到的一些内置变量的方法,还有其他的方法,可以参考源码或官方文档 。
【Jmeter——BeanShell 内置变量vars、props、prev的使用】

推荐阅读