美文网首页工作生活
JMeter脚本开发之BeanShell Sampler

JMeter脚本开发之BeanShell Sampler

作者: 猿二胖 | 来源:发表于2019-07-02 17:25 被阅读0次

本文整理参考:https://www.cnblogs.com/puresoul/p/4949889.html

一、简介

BeanShell Sampler用来模拟向被测试系统发起请求。BeanShell 支持Java对象的调用,可以用来调用Java接口程序。

二、配置
1、引用包和依赖包路径配置

引用包:测试脚本调用的被测试类所在的包
依赖包:被测试类依赖的包

  • 方法一:在测试计划中导入,如下图所示:
  • 方法二:将引用包和依赖包放置在Jmeter默认的包加载路径下,即:%JMETER_HOME%/lib目录
三、BeanShell 使用
1、操作变量

通过使用Bean shell 内置对象vars可以对变量进行存取操作

vars.get("name") //从jmeter中获得变量值,这里的"name"是指变量的名称
vars.put("key","value") //将数据存入jmeter变量中,"key"为变量名,"value"为对应的数值
2、操作属性

通过使用Beanshell内置对象props可以对属性进行存取操作

props.get("propertiename")
props.put("propertiename","value")
3、自定义函数

在BeanShell中,可以使用java语言自定义函数来处理特定的逻辑,结合BeanShell内置对象进行变量的存取,方便我们进行测试提高脚本灵活性。示例:

  • 在Test Plan 中添加一个变量:name = 张三
  • 新建BeanShell Sampler,并在Script写入如下指令:
public static string test ()
{
    vars.put("name","李四");
    return "success";
}
4、引用外部java文件或者class文件

前提:java/class文件内容如下

package test;
public class Myclass
{
    public int add (int a, int b)
    {
        return a + b;
    }
}
  • 引入外部java文件
source("D://filename.java");

  • 引入class文件
//导入class文件
addClassPath(D://");
//导入类名
import test.Myclass;
5、引用外部jar包

引用方法如上”配置“中所示。

6、Bean Shell入参
  • Bean shell可以接收传入参数,如下图所示:
  • 参数可以通过bsh.args[]按顺序提取,序号开始为0
  • bean shell 提供了一个内置变量Parameters,来保存参数集合


    1.png
2.png 3.png
四、Bean Shell常用的内置变量

Jmeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,主要的变量及其使用方法如下:

  • log:写入信息到jmeter.log文件
log.info("this is a log info")
  • ctx:该有变量引用了当前线程的上下文
  • vars:操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是map),它是测试用例与beansell交互的桥梁
  • props:操作jmeter属性,该变量引用了jmeter的配置信息,可以获取jmeter的属性
  • prev:获取前面的sample返回的信息,常用方法:
getResponseDataAsString();//获取响应信息
getResponseCode(); 获取响应code

相关文章

网友评论

    本文标题:JMeter脚本开发之BeanShell Sampler

    本文链接:https://www.haomeiwen.com/subject/rxfthctx.html