前景
变量参数化,如多个数值时一般都会想到使用“CSV Data Set Config”来实现,但实际场景中只需要有限的指定数值来进行参数化,调用文件来维护文件也是比较麻烦的。所以在此使用另一种方法,直接在脚本中定义使用。
具体实现
逻辑就是先创建一个JSR223 Samper初始化参数,然后使用Loop Controller进行控制循环 ,这里是实例没有实际的请求,如有实际的请求时,把Loop Controller 下的JSR223 Samper改为请求的前置条件**“JSR223 PreProcessor”**
初始脚本
//String[] EndTimes=['7','30','180','360','2022-10-01 10:00:00']
//把数组给jmeter变量EndTimes
vars.putObject("EndTimes",['7','30','180','360','2022-10-01 10:00:00']);
//获取对象的大小groovy写法一
String n=vars.getObject("EndTimes").size;
vars.put("num",n);
//获取对象的大小groovy写法二
def n=vars.getObject("EndTimes").size;
vars.put("num",n as String);
循环控制器
定义变量引用
String[] EndTimeV=vars.getObject("EndTimes");
return EndTimeV[Integer.parseInt(vars.get("__jm__LC__idx"))]
注:groovy 吸纳了Python、Ruby和Smaltalk语言的优秀特性,非常好用。语法可以参考“jianshu.com/p/e8dec95c4326”