JMeter Bean Shell

1.什么是bean Shell

BeanShell是一种脚本语言,一种完全符合java语法的java脚本语言,并且又拥有自己的一些语法和方法,beanShell是一种松散类型的脚本语言(这点和JS类似)。

2.Bean Shell常用的内置变量

JMeter在它的bean shell中内置了一些变量,我们可以通过这些变量与JMeter交互:

1)log:写入信息到jmeter.log文件

使用方法如log.info("This is log info");

2)vars:操作jmeter变量,方便我们操作JMeter

常用方法:

  a).vars.get(String key):从JMeter中获取变量。

  b).vars.put(String key,String value):数据存在JMeter变量中。

更新信息可参考:org.apache.jmeter.threads.JMeterVariables

3)props:操作JMeter属性,用来获取JMeter的属性

使用方法:

      a).props.get("aa");

   b).props.put("aa","test");

4)prev:获取当前页面的采样器返回的信息

常用方法:

  a).getResponseDataAsString():获取响应信息。

  b).getResponseCode():返回响应的code。

更新信息可参考:org.apache.jmeter.samplers.SampleResult

5)ctx:该变量引用了当前线程的上下文,使用方法可以参考:org.apache.jmeter.threads.JMeterContext

 3.JMeter中Bean Shell断言实例

1)在http请求的子节点添加Bean Shell断言来判断响应的值,使用Failure来标识断言失败,使用FailureMessage来标识断言失败的原因:

 1 //获取上一个请求的响应值
 2 String response = prev.getResponseDataAsString();
 3 //将响应值的字符串类型转换为JSONObject类型
 4 JSONObject jsonObject = new JSONObject(response);
 5 //获取responseMessage的值
 6 String message = jsonObject.getString("responseMessage");
 7 
 8 if(!message.equals("success")){
 9     Failure = true;
10     FailureMessage = "message不等于success";
11     return;
12 }
13 
14 String title = jsonObject.getJsonObject("data").getString("title");
15 
16 if("".equals(title)){
17     Failure = true;
18     FailureMessage = "title为空";
19     return;
20 }

转载于:https://www.cnblogs.com/zhuzhaoli/p/10471130.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值