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来标识断言失败的原因:

 //获取上一个请求的响应值
 String response = prev.getResponseDataAsString();
 //将响应值的字符串类型转换为JSONObject类型
 JSONObject jsonObject = new JSONObject(response);
 //获取responseMessage的值
 String message = jsonObject.getString("responseMessage");

 if(!message.equals("success")){
     Failure = true;
     FailureMessage = "message不等于success";
     return;
 }

 String title = jsonObject.getJsonObject("data").getString("title");

 if("".equals(title)){
     Failure = true;
     FailureMessage = "title为空";
     return;
 }

JMeter Bean Shell的更多相关文章

  1. Jmeter ----Bean shell使用

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

  2. jmeter Bean Shell的使用(一)

    未经作者允许,禁止转载!!! Jmeter有哪些Bean Shell 定时器: BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器: BeanShell ...

  3. jmeter Bean Shell的使用(二)

    BeanShell的用法 在此介绍下BeanShell PreProcessor的用法,其它的beahshell可以类推.在此我们使用beahshell调用自己写的工具类,工具类实现了密码的加.解密功 ...

  4. [转载] jmeter Bean Shell的使用

    Jmeter有哪些Bean Shell 定时器: BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器: BeanShell Sampler 后置处理器:B ...

  5. jmeter bean shell断言加密的响应信息(加密接口测试二)

    断言加密的响应信息 1.在http请求-->添加-->断言-->bean shell 断言 import com.changfu.EncryptAndDecryptInterface ...

  6. jmeter bean shell断言加密的响应信息

    断言加密的响应信息 1.在http请求-->添加-->断言-->bean shell 断言 import com.changfu.EncryptAndDecryptInterface ...

  7. 转 Jmeter之Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

  8. 转 Jmeter之Bean shell使用(一)

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

  9. Jmeter之Bean shell使用(一)

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

随机推荐

  1. 屏蔽sql server 2008的智能提示

    1. 去掉这个勾 2. 如果你安装了Sql complete, 接着下面的

  2. Android 4 学习(12):Linkify & Broadcast event

    参考<Professional Android 4 Development> Linkify Linkfy类可以在Text View中创建超链接.匹配LInkify中正则表达式的文本将被L ...

  3. HDFS的介绍

    设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 在大数据系统中作用:为各类分布式运算框架(如:mapreduce,spark,te ...

  4. 【知识结构】最强Web认证知识体系

    花了些时间总结了下Web认证,以及各种方式的利弊和使用,后续后继续更新.文章转载请注明出处:https://www.cnblogs.com/pengdai/p/9144843.html -----20 ...

  5. C++数组与指针回顾总结

    //数组名是常量指针, //a+1 是相对数组起始地址偏移了sizeof(int)字节 //&a+1 是相对于数组起始地址偏移了sizeof(a)字节 , , , }; cout <&l ...

  6. linux下编译wpa_supplicant&nbsp;…

    linux下编译wpa_supplicant 收藏 前一段时间只在vs2005下编译成功过.经过近一段时间的琢磨,今天终于在linux下成功编译了wpa_supplicant. 挺简单的事情折腾了这么 ...

  7. 【更多教程关注公众号全要买】1-2 Disruptor与BlockingQueue压力测试性能对比

    JDK所提供的BlockingQueue替换成Dis

  8. VBox 安装 Ubuntu Server 的那些坑,键盘乱码、网卡互连、共享目录等

    1.更新,相信大家都是有强迫症的 sudo apt-get update sudo apt-get upgrade 出现错误:Could not open lock file /var/lib/dpk ...

  9. CentOS集群自动同步时间的一种方法

    CentOS集群自动同步时间的一种方法 之前有篇日志是手动同步时间的 http://www.ahlinux.com/os/201304/202456.html 之所以这么干,是因为我们实验室的局域网只 ...

  10. 基于PCL的屏幕选点、框选点云、单点选取

    1. 单点选取 #include <pcl/io/pcd_io.h> #include <pcl/point_cloud.h> #include <pcl/point_t ...