JMeter5.0:vars&props差异

25 篇文章 1 订阅
15 篇文章 1 订阅

在使用JSR223 SamplerBeanShell Sampler时,会接触到二个变量:vars,props
它们有什么区别呢?

本质作用域操作对象
varsjmeter variable单线程getObject,putObject
propsjmeter properties全局get,put

1. vars

1.1. put

put只支持string类型,当我们put整形时,jmeter抛出异常
如果需要设置非string类型数据,请使用putObject

vax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.jmeter.threads.JMeterVariables.put() is applicable for argument types: (java.lang.String, java.lang.Integer) values: [num, 3]
Possible solutions: put(java.lang.String, java.lang.String), get(java.lang.String)

vars.put("num", 3)

def x = vars.get("num")
def y = 7
def total = x + y

log.info("x + y = " + total)

1.2. putObject

当遇到map,list,function等对象时,请记住putObject,并配合getObject使用

vars.putObject("num", 3)

def x = vars.getObject("num")
def y = 7
def total = x + y

log.info("x + y = " + total)

输出:JSR223 Sampler: x + y = 10

props

共享数据使用props,线程独立使用vars
image.png

2021-10-21 09:50:51,777 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2021-10-21 09:50:51,778 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 2-1
2021-10-21 09:50:51,784 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2021-10-21 09:50:51,784 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2021-10-21 09:50:51,789 INFO o.a.j.p.j.s.J.读取变量: >>>>>>>>>>>>>>>>From jmeter properties
2021-10-21 09:50:51,789 INFO o.a.j.p.j.s.J.读取变量: ================null
2021-10-21 09:50:51,789 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 2-1
2021-10-21 09:50:51,789 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 2-1
2021-10-21 09:50:52,287 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 2-2
2021-10-21 09:50:52,289 INFO o.a.j.p.j.s.J.读取变量: >>>>>>>>>>>>>>>>From jmeter properties
2021-10-21 09:50:52,289 INFO o.a.j.p.j.s.J.读取变量: ================null
2021-10-21 09:50:52,289 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 2-2
2021-10-21 09:50:52,289 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 2-2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值