Jmeter使用过程中的坑之Beanshell Map问题

Jmeter使用过程中的坑之Beanshell Map问题

前情提要:笔者调试性能脚本前,有一个参数需要进行加密操作,先是从开发那边拿到了加密使用的jar包,然后调试完成后,使用BeanShell PreProcessor将java代码粘贴进去调试,结果就出现问题了。

详细经过

1、eclipse调试成功的脚本如下

2、涉及的jar包放到JMeter的相关路径后,在BShell中,粘如下脚本运行

3、结果就运行报错了

2019-04-15 17:14:03,871 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval In file: inline evaluation of: ``import java.util.*; import cn.…………DataserverTool; String . . . '' Encountered "," at line 13, column 19.

 

4、13行19个字节,正是这段代码导致的

Map<String, String> params = new HashMap<String, String>();

最终才知道原因是beanshell 中使用Map方法中不能指定数据类型(List也一样)

(也是因为定位到原因,怀疑类型问题,一搜beanshell中map使用,找到了了原因)

 

问题解决

Map params = new HashMap();

//Map<String, String> params = new HashMap<String, String>();

 

修改成以上方法,调试通过。

 

记笔记:

在jmeter的beanshell中不要使用类似于Map<String,Object> map = new HashMap<>();,包括引用java文件的时候,java文件也不能这样使用,jmeter会报错:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值