前言: 在使用jmeter 进行接口自动化测试或者性能测试的时候,有些复杂的数据或者请求需要处理,beanshell脚本是个很好的选择,BeanShell脚本是符合Java语法的,但又有些不同,比如不支持Java的泛型。
Java泛型:
因为集合存放的数据类型不固定,故往集合里面存放元素时,存在安全隐患,如果在定义集合时,可以想定义数组一样指定数据类型,那么就可以解决该类安全问题。JDK1.5后出现了泛型,用于解决集合框架的安全问题。泛型是一个类型安全机制.
Java定义一个Map, 可以参考:Java HashMap | 菜鸟教程
import java.util.HashMap;
HashMap<Integer, String> Sites = new HashMap<Integer, String>();
---------------------------------------------------------------------------------------------------------------------------------
但是在Beanshell中像Java一样定义指定数据类型,运行的时候就会报错:
ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of.......
正确的定义:不能使用 <Integer, String> 指定是数据类型,参考:
import java.util.HashMap;
HashMap Sites = new HashMap();
注意: Map,List,Set定义的时候,都不能指定数据类型