一、引用外部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");