1.属性
JMeter属性在测试脚本的任何地方都是可见的(全局);JMeter属性对于整个测试计划都是可见的(全局),因此可以用于在不同线程间传递信息。JMeter属性统一定义在了jmeter.properties文件中,我们也可以在该文件中添加自己定义的属性,另外我们也可以在测试计划中通过_P函数进行引用,被所有线程共享。
2.变量
属性一般是不需要变化的,如果需要定义变化的值,可以定义变量,在Jmeter中使用变量引用${variableName},JMeter对于变量名大小写敏感。
JMeter变量对于测试线程而言是局部的,这就意味着JMeter变量在不同的测试线程中,既可以是完全相同的,也可以是不同的;如果某个线程更新了变量的值,仅仅是更新了该变量在该线程的值。
在JMeter中有四个地方可以定义变量:
a.测试计划,整个测试计划的所有线程起作用
b.User Defined Variables,对整个测试计划的所有线程起作用,不论该元件在何处,该元件不受作用域的限制,特殊。
c.前置或者后置处理器设置变量,用于关联,仅仅影响当前线程。
d.使用csv参数化变量,用于参数化,仅仅影响当前线程。
说明:如果多个相同变量名的变量在多个User Defined Variables中定义,则只有最后一个定义会生效。
另外,JMeter提供了Debug Sampler元件方便我们查看变量的值,方便我们调试。