在JMeter中变量的分类
在JMeter,根据变量的作用域可以将变量分为:
- 针对全局并且跨线程:
- User Defined Variables(UDV)
- Properties(属性)
- 针对单个线程的
- User Parameter
User Defined Variables(UDV)
UDV 简单理解就是代码中定义变量的语句。而后,你可以引用变量来为变量重新赋值。
定义UDV元素的地方有2个:
- Test Plan
- User Defined Variables config element
不论UDV元素位于测试计划的哪一个地方,在编译Test plan时,都会将UDV元素放到最前面执行(有点变量提升的意思)
在测试计划被编译和提交运行时被替换它们的静态值。这种替换只发生测试运行开始时。
变量的引用
${VARIABLE}
当引用变量名没有预定义
在JMeter中,如果引用变量名没有预定义
- JMeter不会报错。
- 这个变量引用的返回值就是它本身的形式。比如,如果a变量没有定义,在引用
${a}
会返回${a}
对嵌套变量取值
嵌套变量引用的取值是这样的。
${__V(Var${N})}
内建函数
内建函数可以让脚本在运行过程中获取动态变化的变量值。
函数在线程中间是共享的。
函数在线程之间共享。测试计划中每次函数调用都由单独的函数实例处理。
变量和函数的应用
变量和函数理论上在任何可以输入值的地方使用。 要注意的是,在test plan级别使用时,有一些函数因为还没有setup好,所以可能不生效。
在Beanshell sampler中如何引用变量
有两种方式:
vars.get()
andvars.put()
- parameters