前言:
压测的过程中可能需要自己实现一些代码逻辑,Jmeter提供BeanShell来辅助我们实现,但是对于BeanShell 来实现一些简单的代码比较方便,如果要实现一些复杂的逻辑(AES加密解密、生成用户三要素等)就会显得比较臃肿,而且不便于多项目共用,此时我们就需要考虑引入外部代码,BeanShell 引入Java代码常用使用到的主要是三种方式,.java,.class,.jar 三种类型的文件,下面介绍下如何通过BeanShell引入外部JAVA代码
一、source引用法
1、java文件中引用的jar放在路径 \apache-jmeter-3.0\lib\ext 下;
这是我编写的java文件:
package hehe.md5;
public class Myclass
{
public int add(int a, int b)
{
return a + b;
}
public static class test1{
public static void main(String[] args){
int res =new Myclass().add(3,8);
System.out.println(res);
}
}
}
2、java文件放在路径 \\apache-jmeter-3.0\\extras 下;
3、BeanShell Sampler 中调用(source("/Users/leiyuxing/jmeter/apache-jmeter-5.2.1/extras/Myclass.java");
脚本代码“
source("/Users/leiyuxing/jmeter/apache-jmeter-5.2.1/extras/Myclass.java");
int res = new Myclass().add(3,8);
vars.put("add",res.toString());
4、查看结果
二、先添加java文件的路径,再import:
例如:
addClassPath("/Users/leiyuxing/jmeter/apache-jmeter-5.2.1/extras/");
import Myclass;
int res = new Myclass().add(3,8);
vars.put("add",res.toString());
三、导出为jar文件
1、导出jar包并添加jar包,添加完后记得重启jmeter不然可能不生效
2、beanshell脚本
import hehe.md5.Myclass;
int res = new Myclass().add(3,8);
vars.put("add",res.toString());
3、查看结果