11.Jmeter--BeanShell vars.get() 及vars.put()方法

vars: 引用Jmeter线程的局部变量,将 局部变量 改为  全局变量 亦可达到引用全局变量的效果

方法

String State1= vars.get("State");  // 获取变量的值, State 为变量名称

vars.put("Comment",Comment);//将放置一个Map到vars,后期可通过key引用value

需求:传入参数为任务状态,当任务状态为已延期时,需要将延期原因的值改为字符串; 任务状态不为已延期时,任务状态的值要为空

方法:使用BeanShell预处理器:

示例代码如下:


import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;


String State1=bsh.args[0]; //传入任务条状态

//String State1= vars.get("State");  //任务条状态也可通过vars.get()获取

String Comment=null;

log.info(State1);

//延期状态为已延期时,将Comment的值设置为"我延期了"


if(State1.equals("OVERDUED")){

Comment="\"我延期了\"";    //双引号里要填写\"我延期了\",而不是我延期了,不然引用的数据没有引号

}


vars.put("Comment",Comment);//将放置一个Map到vars,后期可通过key引用value

log.info("任务状态:"+State1);  //用于调试值是否传入成功

log.info("延期原因:"+Comment);//用于调试Comment值是否正确


遇到的问题:

1.equals与==的区别,equals比较的是值的存储位置是否相等,==比较的是变量名是否相等

         字符串/对象都要用equals

          基本数据类型用==

2.put(key,value),value里要自己加引号(使用反斜杠注释特殊字符),不然引用的数据没有引号

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容