JMeter中的变量详解

164 阅读1分钟

在JMeter中变量的分类

在JMeter,根据变量的作用域可以将变量分为:

  1. 针对全局并且跨线程:
  • User Defined Variables(UDV)
  • Properties(属性)
  1. 针对单个线程的
  • User Parameter

User Defined Variables(UDV)

UDV 简单理解就是代码中定义变量的语句。而后,你可以引用变量来为变量重新赋值

定义UDV元素的地方有2个:

  1. Test Plan
  2. User Defined Variables config element

不论UDV元素位于测试计划的哪一个地方,在编译Test plan时,都会将UDV元素放到最前面执行(有点变量提升的意思)

在测试计划被编译和提交运行时被替换它们的静态值。这种替换只发生测试运行开始时。

变量的引用

${VARIABLE}

当引用变量名没有预定义

在JMeter中,如果引用变量名没有预定义

  1. JMeter不会报错。
  2. 这个变量引用的返回值就是它本身的形式。比如,如果a变量没有定义,在引用 ${a} 会返回 ${a}

对嵌套变量取值

嵌套变量引用的取值是这样的。

${__V(Var${N})}

内建函数

内建函数可以让脚本在运行过程中获取动态变化的变量值。

函数在线程中间是共享的。

函数在线程之间共享。测试计划中每次函数调用都由单独的函数实例处理。

变量和函数的应用

变量和函数理论上在任何可以输入值的地方使用。 要注意的是,在test plan级别使用时,有一些函数因为还没有setup好,所以可能不生效。

在Beanshell sampler中如何引用变量

有两种方式:

  1. vars.get() and vars.put()
  2. parameters

参考文档

Functions and Variables

JMeter Variables

the difference between parameters and vars in Beanshell

test plan

User Defined Variables

User Parameters