JMeter中BeanShell的使用方法和常用语法

更新时间:2023-05-03 18:21:16 阅读: 评论:0

JMeter中BeanShell的使⽤⽅法和常⽤语法
⼀、什么是BeanShell
BeanShell是由java编写的,是⼀个轻量级的脚本语⾔,也相当于⼀个⼩巧免费的JAVA源码解释器,⽀持对象式的脚本语⾔特性,亦可嵌⼊到JAVA源代码中,能动态执⾏JAVA源代码并为其扩展了脚本语⾔的⼀些特性。
⼆、JMeter中⽤BeanShell的好处
JMeter也是由java编写的,⽽java运⾏时需要先编译,然后才可以运⾏,⽽BeanShell是⼀款解释器,直接可能运⾏源代码;
三、BeanShell在JMeter的作⽤
(1)对JMeter的功能的扩展;
(2)对jmeter变量的⼀些操作;
四、JMeter中BeanShell常⽤的基本语法:
1、log:打印⽇志,写⼊信息到jmeber.log⽂件;
2、SampleResult:获取SampleResult对象,能通过这个对象获取想要的信息;
3、Respon:获取Respon对象,能通过这个对象获取响应信息;
4、Failure:查看接⼝调使⽤能否成功,假如返回fal是成功的,true是失败的。
5、FailureMessage:失败信息,没有设置的时候失败信息是空的,能t这个信息。
6、R蒸排骨需要多长时间 esponData:获取respon body类型是byte[]。
7、ResponCode:返回接⼝code成功是200。
8、ResponMessage:获取msg成功是OK。
9、ResponHeaders:获取接⼝服务端返回的头部信息。
10、RequestHeaders:获取⽤户端请求的头部信息。
11、SampleLabel:获取接⼝请求的名称。
12、SamplerData:获取请求的url和body。
13、ctx 当前线程的上下⽂信息,能直接⽤
14、vars即JMeterVariables,操作jmeter变量,这个变量实际引⽤了JMeter线程中的局部变量容器(本质上是Map),常⽤⽅法:
(1) ("String key"):从jmeter中获得变量值;
(感情的事 2) vars.put("String key","String value"):将数据存到jmeter变量中;
15、prev 获取sample返回的信息,常⽤⽅法:
(1) getResponDataAsString():获取响应信息。
(2) getResponCode() :获取响应c吃石榴有什么好处 ode。
五、Jmeter中包含的BeanShell类型
1、Be精华油怎么用 anShell前置处理器:BeanSell PreProcessor
2、BeanShell取样器:Bean碱性磷酸酶低是怎么回事 Sell Sampler
3、BeanShell后置处理器:Be企划方案 anSell PostProcessor
4、BeanShell监听器:BeanSell Listener
5、BeanShell定时器:BeanSell Timer
6、BeanShell断⾔:BeanSell断⾔
BeanShell前置处理器、BeanShell取样器、BeanShell后置处理器,它们之间的区别:
1、BeanShell前置处理器、BeanShell后置处理器 ⽐ BeanShell取样器多⼀个重置解释器(Ret In手绘t恤 terpreter),意思是指:对于每⼀次处理是不是都要进⾏重置;
2、在JMeter中BeanShell取样器是当成线程处理的,所以运⾏时是有⼀定的消耗的,⽽使⽤BeanShell前置处理器、BeanShell后置处理器总体来说⽐BeanShell取样器消耗低,相当于少起⼀个线程。
六、JMeter中BeanShell使⽤
1、BeanSell取样器中直接编写代码
(1)提取下图中的https的链接地址
(2)⾸先⽤正则表达式提取器来提取值,这边的正则表达式可以只提取⼀个值,也就是只写了⼀个()
(3)在BeanShell取样器输⼊输⼊源码,注意:这边⼀定要写参数${ABCDEF},这个值依赖于正则表达式提取数据,并且在代码中⼀定要写元宵节应该吃什么 str = bsh.args[0],表⽰获取数组参数,如果是取变量,⽤("String key")
public static void link(){
String IP;
String path;
String str;
str = bsh.args[0];// bsh.args[0]意思是取出参数的第⼀个值,bsh.args[1]是取出第⼆个参数
IP = str.substring(0,str.indexOf("/家中有阿谁 "));// str.substring(0,str.indexOf("/"))意思是取出下标0到“/”下标的值
path = str.substring(str.indexOf("/")+1);
vars.put("IP",IP);//把变量IP赋值给jmeter⾥⾯的变量IP
vars.put("path",path);
}
link();
(4)Http2请求中服务器与路径的数据依赖于BeanShell取样器中所获取的IP、path的值
(5)运⾏后,在察看结果树中,可以看到获取到了IP与path的值
(6)察看结果树中显⽰Http2请求数据正确
2、引⽤外部的java源码
(1)java源码,右键--Properties,查看java源码的存放路径
public class BeanShe一线二线城市 ll {
public static String[] beanShellMethod(String str){
String[] arr = new String[2];
//截取/前的字符串
arr[0] = str.substring(0,str.indexOf("/"));
//截取/后的字符串
arr[1] = str.substring(str.indexOf("/")+1);
return arr;
}
}

本文发布于:2023-05-03 18:21:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/94388.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:获取   信息   变量   数据   源码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图