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. zabbix的sendEmail配置

    zabbix的sendEmail配置 [root@hongquan scripts]# yum install sendmail[root@hongquan soft]# tar xvzf sendE ...

  2. 第四章 Javac编译原理

    4.1 Javac是什么 是一种编译器,将JAVA源代码(.java文件)语言先转化成JVM能够识别的一种语言(.class文件),然后由JVM将JVM语言再转化成当前机器可以识别的机器语言. 4.2 ...

  3. wordpress get_query_var()函数

    get_query_var函数的最主要作用就是能够查询得到当前文章的分类及分页.定义在:wp-includes/query.php 定义: function get_query_var($var) { ...

  4. 【基础巩固】文件流读写、大文件移动 FileStream StreamWriter File Path Directory/ ,m资料管理器(递归)

    C#获取文件名 扩展名 string fullPath = @"d:\test\default.avi"; string filename = Path.GetFileName(f ...

  5. C++中不可重载5个运算符

    C++中不可重载的5个运算符 C++中的大部分运算符都是可以重载的,只有以下5个运算符不可以重载,他们是: 1  .(点运算符)通常用于去对象的成员,但是->(箭头运算符),是可以重载的   2 ...

  6. python利用utf-8编码判断中文字符

    下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号. unicode字符串归一化等工作. 还有一个能处理多音字的汉字转拼音的程序,还在整理中. #!/u ...

  7. Python的Flask框架使用Redis做数据缓存的配置方法

    flask配置redis 首先得下载flask的缓存插件Flask-Cache,使用pip下载. sudo pip install flask_cache 为应用扩展flask_cache   app ...

  8. Logos

    [Logos] Logos is a component of the Theos development suite that allows method hooking code to be wr ...

  9. ajax请求参数中含有特殊字符"#"的问题 (另附上js编码解码的几种方法)

    使用ajax向后台提交的时候 由于参数中含有#  默认会被截断 只保留#之前的字符  json格式的字符串则不会被请求到后台的action 可以使用encodeURIComponent在前台进行编码, ...

  10. Linux VmWare安装虚拟机(centos6.9)

    开启虚拟机 ---------------------------------------------------------------------------------------------- ...