Jmeter4.0---- jmeter中写入java代码_简单了解(15)
1.说明
BeanShell:是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型、命令、闭包等通用脚本来对其进行拓展。BeanShell不仅仅可以通过运行其内部的脚本来处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码。因为BeanShell是用java写的,运行在同一个虚拟机的应用程序,因此可以自由地引用对象脚本并返回结果。
Jmeter中的BeanShell主要有:定时器BeanShell Timer、前置处理器BeanShell PreProcessor、采样器BeanShell Sampler、后置处理器BeanShell PostProcessor、断言BeanShell、断言监听器BeanShell Listener。
此处运用了内置对象vars对变量进行存取操作:
·vars.get("name"):从jmeter中获得变量值
·vars.put("key","value"):数据存到jmeter变量中
(可参考该文档进行学习:https://www.jianshu.com/p/bc537d6acb3a)
2.直接在jmeter中写java代码
第一步:添加 BeanShell Sampler 编写 java 代码
线程组(右键) => Sampler => BeanShell Sampler(可直接写入java代码)
第二步:添加 Debug Sampler 进行调试
控制器 => Sampler => Debug Sampler (调试)
第三步:调用java代码中的数据
/ep/add.action?NAME=${name}&AGE=${age}
3.导入 java 代码文件
说明:其中,引入java文件,不需要放到根目录,只是引用时文件路径需要使用双斜杠\\,格式为source("D:\\software\\workspace\\junit-test\\AddMethod.java");
source("D:\\software\\workspace\\junit-test\\AddMethod.java");//导入java文件 int addm = new AddMethod().add(5,8);//调用函数 vars.put("name","duoduo");//保存变量 vars.put("num",addm.toString());//保存变量 return "success"; return num;
Debug Sampler 结果:
name=duoduo
num=13
4.导入 class 文件
addClassPath("D:\\"); import com.AddMethod;//AddMethod是class文件的文件名,放到D盘比较深的一个目录里 int addm = new AddMethod().add(6,9); vars.put("num",addm.toString()); vars.put("name","kaku"); log.info("test"); return "success"; return num;
Debug Sampler 结果:
name=kaku
num=15
5.jmeter使用自定义编写java代码
(可参考该文档进行学习:https://www.cnblogs.com/linglingyuese/articles/linglingyuese-two.html)
备注:正常情况下,很少会在jmeter中写java代码,所以,仅做了解即可