一、引用外部java文件: 

1、假如我有一个java 源文件,名为:Myclass.java,代码如下:   

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

2、Bean Shell使用代码如下: 

  在bean shel中通过source("代码路径")方法引入java,然后调用方法和java一样,new一个class,再调用里面的add 方法。 

3、运行结果: 

二、引用外部class文件: 

  现在知道如何引用外部文件,有时候如果我们只有class文件怎么办呢?其实在jmeter中也可以直接引用class文件,示例如下: 

1、直接把上例中的java文件编译成class文件,如何编译请自行百度。 

2、Bean Shell使用代码如下: 

  用addClassPath("D:\\")方法引入 class文件,再用import导入包及类,然后就可以像java一样调用了 

3、运行结果: 

  

三、引用外部Jar包: 

  上面一、二介绍了如何引用外部java和class文件,如果文件比较多时我们可以把它们打成一个jar包然后在jemter中调用 

  在这里想补充一点的是jmeter中引入jar的方法: 

  1、上一篇中已使用过的:把jar包放到jmeter目录\apache-jmeter-2.13\lib\ext下 

  2、在Test Plan的右侧面板最下方直接添加需要引用的jar包,如下图: 

  

 

四、其它用法:  

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

2、Bean Shell可脚本如下: 

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

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

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

3、运行结果: 

下图中1输入的这两句设置: 

ResponseCode = 500; 
ResponseMessage = "This is a test"; 

下图中2输入的这两句设置: 

log.info(Parameters); 

log.info(Label); 

  

//获取参数传递过来的值并存入变量中 

vars.put("v1",bsh.args[0]);  

vars.put("v2",bsh.args[1]);  

vars.put("v3",bsh.args[2]);  

获取参数传递过来的变量集合 

vars.put("v4",Parameters);  

//输出该元件的name 

log.info(Parameters); 

log.info(Label);  

//设置响应代码 

ResponseCode=500; 

//设置响应信息 

ResponseMessage="This is a test"; 

//设置是否成功 

IsSucces=false; 

//设置响应数据 

SampleResult.setResponseData("Hello world"); 

相关文章: