jmeter的属性和变量可以简单理解为java里面的全局变量和局部变量。属性是所有线程组可使用,而变量基本上只能存在于一个线程组中。用户定义的变量在测试计划定义,可作用所有线程,若定义在线程内,只能该线程使用。
属性的创建和赋值及访问方法如下:
1.创建一个属性并赋值:
方式一:使用beanShell的内置对象props,props.put("属性名","属性值");
方式二:${__setProperty(mobile,${mobile_1})};
方法二是通过函数setProperty创建属性(jmeter一般通过${__函数名(参数)}的方式调用函数)。mobile表示待创建的属性名称,第二个参数表示将要赋予的属性值。
注:setProperty函数的属性名和属性值的参数格式,
a、不需加引号,若加引号会被jmeter当做属性名或者属性值的一部分
b、属性名和属性值中不能存在空格,否则空格也会被jmeter认为是属性名或者属性值的一部分
2.在其他线程组访问该属性:
方法一:通过函数${__P(属性名)}进行读取;
方法二:通过函数${__property(属性名)}进行读取;
方式三:使用BeanShell内置对象获取props.get("属性名");
注:a、在BeanShell中已创建属性mobile${__setProperty(mobile,${mobile_1})},在同一个BeanShell可通过${__P(属性名)},${__property(属性名)},props.get("属性名")获取属性值
b、在非创建属性的BeanShell中只能通过props.get("属性名")获取属性值
变量的创建和赋值及访问:
1.创建一个变量并赋值:
方式一:在jmeter提供的控件中创建;
方式二:使用vars对象在脚本中创建,vars.put("变量名","变量值");
2.访问变量:
方式一:${变量名}
方式二: vars.get("变量名")