zoukankan      html  css  js  c++  java
  • jmeter编写beanshell及内置方法的使用

    (一)BeanShell简介

      BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型、命令、闭包等通用脚本来对其进行拓展。BeanShell不仅仅可以通过运行其内部的脚本来处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码。因为BeanShell是用java写的,运行在同一个虚拟机的应用程序,因此可以自由地引用对象脚本并返回结果。

           BeanShell一般使用在逻辑比较复杂的地方

    (二)Beanshell特点

      ·完整的java语法的动态执行,java代码片段,以及松散类型的java和其他脚本。

      ·透明地访问所有java对象和API

      ·运行在四种模式:命令行,控制台,小程序,远程会话服务器。

      ·可以在安全约束的环境中工作

      ·编译器是一个小于150K的jar文件

    (三)BeanShell的六个种类

      定时器: BeanShell Timer

      前置处理器:BeanShell PreProcessor
      采样器: BeanShell Sampler
      后置处理器:BeanShell PostProcessor
      断言:  BeanShell断言
      监听器: BeanShell Listener

    (四)Bean Shell常用内置变量

      log(Logger):打印日志信息,写入信息到jmeber.log文件,
        使用方法可参考:log.info("info")可参考:http://excalibur.apache.org/apidocs/org/apache/log/Logger.html

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

      vars(JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:
        1).vars.get(String key):从jmeter中获得变量值
        2). vars.put(String key,String value):数据存到jmeter变量中
        使用方法可参考:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html

      props(JMeterProperties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值。
        1) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义 
        2) props.put("PROP1","1234");

      prev(SampleResult):获取前面的sample返回的信息,常用方法:
        1) getResponseDataAsString():获取响应信息
        2) getResponseCode() :获取响应code
        使用方法可参考:http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

      sampler(Sampler):gives access to the current sampler
          使用方法可参考:http://jmeter.apache.org/api/org/apache/jmeter/samplers/Sampler.html

      threadName - String containing the current thread name

    (五)BeanShell使用(以BeanShell PreProcessor为例)

    1)运行自定义函数

    2)调用外部Java文件,  source("D\workspace\TelephoneNumber.java")

    3)导入自己打出的jar包,放到lib下的ext文件夹中,再导入类路径调用,如下图:

    (六)其它用法: 

    1、在Test Plan中定义如下三个变量:

    2、Bean Shell可脚本如下:

      a、bean shell可以接受传入参数,如下图:${u1} ${u2} ${u3}

      b、参数可以通过bsh.args[]按顺序提取

      c、bean shell提供了一个内置变量Parameters,来保存参数的集合

          (以上把变量存入参数中的方式可以这样写:vars.put("ABCEEFG","${sid}");  结果:ABCEEFG=70695742 )

  • 相关阅读:
    CSS的水平居中和垂直居中解决方案
    如何组织CSS?
    关于前端工程师一定要做的6件事和自己的感悟
    让透明div里的文字不透明
    利用css3的多背景图属性实现幻灯片切换效果
    CSS响应式布局到底是什么?
    整站快速变黑白灰的方法
    分析一下jquery中的ajax操作
    什么是jquery中的事件委派?
    关于checkbox的一些jquery操作
  • 原文地址:https://www.cnblogs.com/unknows/p/8583876.html
Copyright © 2011-2022 走看看