千家信息网

jmeter学习指南之Beanshell Sampler 常用方法

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,视频地址:http://edu.51cto.com/lecturer/4626073.htmlJMeter 中可以使用 Beanshell Sampler 编写一些简单的脚本,实现更多功能。1、Bea
千家信息网最后更新 2024年11月17日jmeter学习指南之Beanshell Sampler 常用方法

视频地址:http://edu.51cto.com/lecturer/4626073.html



JMeter 中可以使用 Beanshell Sampler 编写一些简单的脚本,实现更多功能。


1、Beanshell
Beanshell 是一种轻量级的 Java 脚本,纯 Java 编写的,能够动态的执行标准 java 语法及一些扩展脚本语法,类似于 javaScript 和 perl。

2、内置变量
Beanshell Sampler 中除了可以使用标准 java 语法之外,还有一些定义好的变量,可以直接使用。

SampleResult
ResponseCode,
ResponseMessage
IsSuccess
Label
FileName
ctx
vars
props
log
下面我按使用频率,分别讲一下最常用的几种变量。

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);
自定义响应数据。



变量 字符 字符串 输出 日志 线程 信息 脚本 存取 常用 属性 形式 语法 普通 全局 对象 局部 是在 标准 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库 post 网络安全周是什么意思 MSSQL数据库考试表情包 深圳服务器系统集成服务企业 国际服服务器怎么加模组 广东云主机服务器服务商 用nvr还需要视频管理服务器吗 通信安全生产与网络安全运行 校园网络安全日总结 服务器关闭自动休眠锁屏 北京c语言软件开发价格表 主流网络安全设备厂商 上海gps时间服务器价格 福州数字办软件开发费单价 软件开发公司安装教学 贵州省网络安全和信息办公室 现阶段网络安全短板论文 蒲公英联机平台连接服务器超时 江门人才岛信息网络技术 信息安全中数据库安全 论之语网络技术公司孔祥和 软件开发编程好学吗 长沙智能软件开发教程 青海互联网养老软件开发 云音网络技术有限公司 网络安全大赛的英文名怎么说 查找 管家婆 数据库 深圳市人人互联网科技有限公司 博通铁克网络安全服务业务 社区给居民宣传网络安全知识
0