JMeter常用脚本开发之BeanShell Sampler

一、BeanShell Sampler

BeanShell Sampler ,既然是取样器,那么就是用来模拟向被测试系统发送请求的,JMeter会记录取样结果,也就是统计TPS、响应时间等性能指标。BeanShell支持Java对象的调用,所以我们可以直接通BeanShell来调用Java接口程序,这不就是接口测试嘛?

接下来我们就直接上代码看一个BeanShell调用Java接口的例子。

1.1 先编写两个简单的java类。

BeanUtil接口和它的实现类BeanShellEg

BeanUtil.java

package com.seling.test;

public interface BeanUtil {
    public String getUserName();
    public String getAddress();
    public int mul(int i);
}

BeanUtilImpl.java

package com.seling.test;

public class BeanUtilImpl implements BeanUtil {
    public String userName;
    public String address;

    public BeanUtilImpl(String userName){
        this.userName = userName;
    }

    public BeanUtilImpl(String userName, String address){
        this.userName = userName;
        this.address = address;
    }

    @Override
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public int mul(int i) {
        return i*i;
    }
}

1.2 打成jar包,用于jmeter中测试调用

测试计划中导入jar包

1.3 编写Beanshell 取样器中脚本

1.4 BeanShell调用Java文件

讲到这里就不得不提一下之前的一个问题,之前有个朋友问到我是否可以调用java文件。答案当然是Ok的,那么show code。

先编写一个java文件: Myclass.java

package com.seling.test;

public class Myclass {
    public int add(int a, int b){
        return  a+b;
    }
}

1.5 BeanShell调用class文件

使用上面的java文件,编译成class,存放在/Users/kenwu/Desktop/PerformanceTest/Test/BeanTest/out/production/BeanTest/com/seling/test/Myclass.class

接着编写BeanShell脚本:

查看结果如下:


评论(0 ) 点赞(14)


暂未登录,请登录之后发表评论。 QQ