Jmeter 变量类型和作用域

参考

  • https://www.lfhacks.com/tech/jmeter-variable-scope/
  • 官方文档

Jmeter 有多种变量类型,每种变量有其各自的作用域。有时候不小心就会使它们之间相互冲突或者覆盖,本文梳理各种类型变量的生成方法、使用特点、作用范围。

Jmeter 中的变量有以下几种:

  • User Defined Variables
  • User Parameters
  • 属性 Properties
  • 运行中创建的变量

User Defined Variables

User Defined Variables 是一种 Config Element,简称 UDV,用于在测试开始时,设定静态值,添加方法如下:
Add > Config Element > User Defined Variables

UDV允许用户定义一组初始变量,在元件中定义的UDV和在 Test Plan 中定义的UDV一样。

初始化

测试计划中的所有UDV元素——无论它们在哪里——都在一开始就被处理。
所以不能在UDV中引用在测试运行时定义的变量。例如,在UDV中引用了在运行时定义的 Property,就会导致UDV赋值为空。
处理顺序:Jmeter 按照UDV在Test Plan中出现的顺序(从上到下)进行处理。

作用域

UDV 对 Test Plan 中的所有线程组都生效。 一旦所有UDV被处理,生成的变量集就被复制到每个线程,以提供初始的变量集。
如果运行时元素(如 User Parameters Pre-Processor 或 Regular Expression Extractor)定义了一个与UDV变量名称相同的变量,那么这将替换初始值,线程中的所有其他测试元素将看到更新的值。

静态值

作为一组初始变量,UDV一旦赋值之后就不会再改变。因此,当使用每次调用都会产生不同结果的函数给UDV赋值时,只有第一次函数调用的结果会被保存在变量中。

User Parameters

你可能感兴趣的:(Jmeter 变量类型和作用域)