栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

BeanShell内置变量vars的使用技巧

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

BeanShell内置变量vars的使用技巧

1 简介

BeanShell 有的内置变量,JSR223 也会有对应的变量
vars 是最常用的JMeter变量之一
在 JMeter 内部,映射org.apache.jmeter.threads 的 JMeterVariables 类
vars 提供了对当前线程变量的读写能力
所有的JMeter 变量都是 java字符串
如果你需要把数据存放到一个 JMeter 变量中,需要先将它转换成字符串
官方文档:https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html

2 常用方法 2.1 getThreadName

方法声明
public String getThreadName()

功能:获取当前运行线程名

tn = vars.getThreadName();
log.info("Current thread name is "+tn);


结果:

2.2 getIteration

方法声明
public int getIteration()

功能:获取线程当前的迭代号

tn = vars.getIteration();
log.info("Current Iteration number is "+tn);

结果:

2.3 put

方法声明
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);

结果:

2.4 get

方法声明
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);

结果:

2.5 putObject

方法声明
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"));

结果:

2.6 getObject

方法声明
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);

结果:

2.7 remove

方法声明
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);

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号