1、Beanshell Beanshell 是一种轻量级的 Java 脚本,纯 Java 编写的,能够动态的执行标准 java 语法及一些扩展脚本语法,类似于 javaScript 和 perl。 2、内置变量 Beanshell Sampler 中除了可以使用标准 java 语法之外,还有一些定义好的变量,可以直接使用。 SampleResult ResponseCode, ResponseMessage IsSuccess Label FileName props 下面我按使用频率,分别讲一下最常用的几种变量。 3、log 用于打印日志,最常用,也最简单; 打印在 jmeter.log 中,可以设置打印级别,可以打印字符串、变量等。 使用方法: 1、打印 info 形式的普通字符串日志: log.info("hello world");  输出 hello world 2、拼接字符串和变量 (其中 token 是 jmeter 局部变量): log.info("hello world" + "${token}");  输出 hello world 和 token 变量的拼接结果 3、打印自定义变量 str = "12345"; log.info(str);  输出 12345 4、打印 error 形式的普通字符串日志: log.info("hihihi"); log.error("aaaaa"); 输出的区别: 2018-12-27 19:05:13,158 INFO o.a.j.u.BeanShellTestElement: hihihi 2018-12-27 19:05:13,158 ERROR o.a.j.u.BeanShellTestElement: aaaaa print() 打印日志 在 beanshell 中还可以使用 print() 函数来打印日志,输出字符串等信息; print() 是在控制台中输出信息,log() 默认是在 jmeter.log 中输出信息。 4、vars 用于存取 jmeter 局部变量,很常用,一定要掌握; 通常用于存取字符串内容,也可以存取对象; vars.get() String mykey = vars.get("keyname"); 获取变量名为 keyname 的值,并保存在 mykey 中。 vars.put() vars.put("keyname","value"); 把变量 keyname(值为 value)保存到 jmeter 变量中。 vars.putObject("OBJname",new Object()); 把一个对象 OBJname 保存到 jmeter 变量中 vars.remove() vars.remove("keyname"); 从 jmeter 变量中删除 keyname。 5、props 用于存取 jmeter 全局的静态变量; 其中的 key 和 value 均是字符串形式; ymd = props.get("START.YMD"); 获取属性 START.YMD 的值(脚本启动日期)。 props.put("PROP1","1234"); 把 1234 存入全局属性 PROP1 中。 6、ctx 当前线程的上下文信息; 使用举例: ctx.getCurrentSampler(); 获取当前 sampler 请求 ctx.getPreviousSampler(); 获取前一个 sampler 请求 ctx.getThreadNum(); 获取当前线程的序号,从 0 开始计数 ctx.getThread(); 获取当前线程 ctx.getThreadGroup(); 获取当前线程组 ctx.getProperties(); 获取所有属性 ctx.getVariables(); 获取当前线程的所有变量 7、SampleResult SampleResult.setResponseData(data); 自定义响应数据。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69942496/viewspace-2654225/,如需转载,请注明出处,否则将追究法律责任。

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员