jmeter 使用BeanShell Sample Error invoking bsh: eval I

本文详细解析了在使用JMeter进行性能测试时,遇到BeanShellSampler脚本开发过程中常见错误的原因及解决方法,包括类路径、方法调用及依赖管理等问题。

jmeter 使用BeanShell Sample 脚本开发

报错:
.BeanShellInterpreter: Error invoking bsh: eval In file: inline evaluation of: ``import com.why.jmeter.BeanUtil; import com.why.jmeter.BeanShellEg; BeanUtil bu = . . . ‘’ Encountered “)” at line 8, column 14.

BeanShell Sample 脚本开发从头开始

1. 写两个java类:

接口类:

图片: 

接口类

实现类:

自动生成构造方法,set方法;get方法重写接口里的;
在这里插入图片描述

Test类:执行test main()方法,主要是看程序是否有错误。

在这里插入图片描述
Maven,直接编译,打包;生成jar包

Building jar: E:\workspace\JmeterScript\target\JmeterScript-1.0-SNAPSHOT.jar

2. Jmeter中添加 BeanShellSampler

在jmeter中添加 jar包;两种方法:

(1)直接在测试计划中添加jar;

在这里插入图片描述
(2)或者把jar包 放在 jmeter 的安装路径的 lib或者 ext下;都可以。
\apache-jmeter-5.2.1\lib\ext或者\apache-jmeter-5.2.1\lib都可以;(如果你的java代码,有依赖其他的jar包,那么也要把 相应的jar包放在 lib或者ext 下;比如你依赖了 fastjson.jar等等)

3. 在jmeter中执行脚本

执行 BeanShellSampler 报错。。。。

.BeanShellInterpreter: Error invoking bsh: eval	In file: inline evaluation of: ``import com.why.jmeter.BeanUtil; import com.why.jmeter.BeanShellEg; BeanUtil bu = . . . '' Encountered ")" at line 8, column 14

其实报错真的很明显了;第8行。哈哈哈哈。只是我就是觉得不应该出错,所以就慌了。开始找 jar是不是没有引入,是不是类名写错,方法名称拼写错误。。。。。。

在这里插入图片描述
去掉第8行,我明白了,用第7行的方式调用 BeanShell 脚本中定义得变量;
在这里插入图片描述
BeanShellSampler 入参,参数之间,空格分开;调用方式 bsh.args[0],bsh.args[1];
在这里插入图片描述

开始好好学习jmeter脚本开发 笑一笑吧

还有一个报错;

Error invoking bsh method: eval	Sourced file: inline evaluation of: ``import com.why.jmeter.BeanUtil; import com.why.jmeter.BeanShellEg; import com.wh . . . '' : Undefined argument: tj .test ( ) 

很傻的问题:
在 BeanShellSample人中 使用log.error()里面是需要参数的;而我的test()方法是 void,没有返回值。。。。。。不报错,是不是都对不起java。。。。。。。。。。
所以在使用 BeanShellSampler 写脚本时,要注意这样傻傻的问题;
还有就是 在 idea里面改了或者增加了新的方法,然后就开始在 jmeter中调用新的方法,然后 报错,找不到该方法。。。
话说,这又是傻了。。。。
因为没有打最新的jar包啊。。。。。。。。。。。。。。。。。

在这里插入图片描述 京东内购,芬香,领券省钱,分享挣钱; 京东平台欢迎你。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值