2 常用方法 2.1 getThreadNameBeanShell 有的内置变量,JSR223 也会有对应的变量
vars 是最常用的JMeter变量之一
在 JMeter 内部,映射org.apache.jmeter.threads 的 JMeterVariables 类
vars 提供了对当前线程变量的读写能力
所有的JMeter 变量都是 java字符串
如果你需要把数据存放到一个 JMeter 变量中,需要先将它转换成字符串
官方文档:https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html
方法声明
public String getThreadName()
功能:获取当前运行线程名
tn = vars.getThreadName();
log.info("Current thread name is "+tn);
结果:
方法声明
public int getIteration()
功能:获取线程当前的迭代号
tn = vars.getIteration();
log.info("Current Iteration number is "+tn);
结果:
方法声明
public void put(String key, String value)
功能:创建或更新字符串变量,key变量名,value变量值
//先创建变量
vars.put("name","shenzhen");
vars.put("age","60"); //不能写成20
mname =vars.get("name");
mage = vars.get("age");
log.info("---mname is-----"+mname);
log.info("----age is------"+ mage);
//更新变量
vars.put("age","24");
vage = vars.get("age");
log.info("-----mage is------ "+vage);
结果:
方法声明
public String get(String key)
功能:获取变量的值并将其转换为字符串,若变量存在则将值转换为字符串,否则返回 null
//get方式
vars.put("color","green");
vcolor = vars.get("color");
log.info("---volor is---" + vcolor);
vars.putObject("aman",["name":"shenzhen","sex":1,"age":30,"city":"shanghai"]);
vaman = vars.get("aman");
log.info("----vaman is----"+vaman);
//变量不存在
vfont = vars.get("fonts");
log.info("----vfont is---"+vfont);
结果:
方法声明
public void putObject(String key,Object value)
功能:创建或更新一个非字符串变量。key变量名,value变量值
//设置 非字符串变量的值:Numbers,Lists,Arrays,Maps
vars.putObject("number1",3.14);
vars.putObject("list1",[11,12,33,44]);
vars.putObject("array1",[1,2,3,4,5] as int[]);
vars.putObject("map1",["name":"shenzhen","sex":1,"age":30,"city":"shanghai"]);
vars.putObject("map2",["address":"jichang","phone":"16888"]);
//获取字符串变量的值Numbers,lists,Arrays,Maps
log.info("number1 is"+vars.getObject("number1").toString());
log.info("list1 count is "+vars.getObject("list1").size());
log.info("list1 first element is"+vars.getObject("list1").get(0));
log.info("array1 count is"+vars.getObject("array1").length);
log.info("map1's name is"+vars.getObject("map1").get("name"));
结果:
方法声明
public Object getObject(String key)
功能:获取变量的值(不转换为字符串)。若变量不存在则返回null
vars.putObject("pank",24);
vpank = vars.getObject("pank");
log.info("vpank is "+vpank);
vcontent =vars.getObject("content");
log.info("vcontent is "+vcontent);
结果:
方法声明
public Object remove(String key)
功能:删除一个变量,并返回变量的值,若变量不存在则返回 null
//变量不存在
v1 = vars.remove("shenzhen");
log.info("v1 is "+v1);
//变量存在
vars.put("name","123");
v2 = vars.remove("name");
log.info("v2 is "+ v2);
结果:



