BeanShell断言(一)

时间:2023-03-09 14:35:33
BeanShell断言(一)

在beanShell中直接可以调用的变量,无需加前缀。

1.log 打印日志 log.info(“在控制台打印日志”);

2.SampleResult 获取SampleResult对象,可以通过这个对象获取想要的信息

3.Response 获取Response对象,可以通过这个对象获取对应的信息

4.Failure 查看接口调用是否成功,如果返回false是成功的,true是失败的

5.FailureMessage 失败信息,没有设置的时候失败信息是空的。可以set这个信息

6.ResponseData 获取 response body 类型是byte[]

7.ResponseCode 返回接口code 成功是200

8.ResponseMessage 获取msg 成功是OK

9.ResponseHeaders 获取接口服务端返回的头部信息

10.RequestHeaders 获取客户端请求的头部信息

11.SampleLabel 获取接口请求的名称

12.SamplerData 获取请求的url和body

13.ctx 代表上下文信息,可以直接使用

14.vars 可以直接调用,将获取的数据变成jmeter变量(put),也可以获取用户自定义的变量(get)

思路:http://blog.csdn.net/a23764996/article/details/70921083

以下自己操作举例:针对查询接口

import org.apache.log4j.Logger;

String response_data = prev.getResponseDataAsString();//获取接口返回的response数据
log.info("##  response_data="+response_data+"  ##");
   if(response_data.contains("\"total\":"+${count})||response_data.contains("\"total\":null")){
    Failure=false; //设置成false 表示接口跑成功,在结果树中sample是绿色的
    }else{
        Failure=true; //直接判断失败 表示接口跑失败,在结果树中sample是红色的
        FailureMessage="错误信息";
        prev.setStopThread(true);//如果断言失败,后面的接口不需要再跑,直接暂停
}

注意事项:单引号的转义