Jmeter中Beanshell的使用

Beanshell是一种基于Java的脚本语言,支持基本数据类型如int、String和List。它可在JMeter中用于采样器、定时器、前置/后置处理器和断言,例如用于检查响应码、解析JSON数据和执行条件逻辑。例如,if语句用于根据列表大小打印不同错误信息,而getResponseDataAsString()方法用于获取响应内容。
摘要由CSDN通过智能技术生成

beanshell简介

beanshell是一种完全符合java语法规则的脚本语言,并且他拥有一些自己的语法和方法
官网:http://www.Beanshell.org

beanshell语法

1.数据类型

  • 整性:int ,例如:int a=10

  • 字符:String 例如:String s=‘rer’

  • 数组:String [] str1 = new String[]

  • 列表:List list=new ArryList();

    //整性的定义
    int a = 10;
    log.info("-----"+a);
    //字符串的定义
    String ss = "fdfdf";
    log.info("++++++++"+ss)
    
    ```​
    
    

2.分支语句

//if语句
List list = new ArrayList();
list.add("test3");
if(list.size()>0){
	log.error(list.get(0));
	}else if(list.size()<=0){

	log.error("list is empty..");
		
	}
//for循环
// for循环
for(int i=0;i<list.size();i++){
	log.error(list.get(i));

3.内置对象和方法

1)vars

// 在同一个线程组内获取变量和设置全局变量
vars.get("变量名")
vars.put("变量名",)
// 获取用户定义的变量中的值
String username = vars.get("username");

log.error(username);

//将username放到全局变量中
vars.put("username","admin123");

2)props

作用:可以设置JMeterProperties,且设置的属性值,是跨线程组的

//props的使用,获取属性的值
String starttime = props.get("START.YMD");
log.error(starttime);
//zai jmeret中的props中添加变量
props.put("aaa","testprops");

3)getResponseDataAsString()获取响应信息

import com.alibaba.fastjson.JSONObject;//需要将获取到的字符串转为json对象,此处需要导入jar包
String data=prev.getResponseDataAsString(); //获取响应结果
log.error(data);
//将类似于json的字符串转为json对象
JSONObject json = JSONObject.parseObject(data);
String res = json.getString("token");
log.error(res);

4)getResponseCode()获取响应码
5)getSampleData()获取当前请求数据
6)getRequestHeaders()获取请求头数据

jmter中的beanshell

1.属于线程组的

  • 采样器:BeanShell Sample

2.属于取样器的:

  • 定时器 BeanShell Timer

  • 前置处理器 BeanShell PreProcessor,提前处理请求数据,加密等

  • 后置处理器 BeanShell PostProcessor,在请求后对返回的结果进行处理

  • 断言 BeanShell 断言,验证返回结果的正确性

    //beanshell断言
    import com.alibaba.fastjson.JSONObject;
    String data=prev.getResponseDataAsString();
    log.error(data);
    //将类似于json的字符串转为json对象
    JSONObject json = JSONObject.parseObject(data);
    String res = json.getString("token");
    log.error(res);
    if (!res.equals("bearer")){
    	Failure=true;
    	FailureMessage="登录失败";
    	}
    
  • 监听器 BeanShell Listener

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值