遍历数组 - Jmeter
Loop through the array - Jmeter
我尝试循环场景 2 次从数组中获取数据。
我的用例是:我想为多个国家/地区创建用户,所以我不想处理这种情况,而是想实现循环逻辑。
到目前为止试过了,但没有成功:
- 我想从这里获取数据
//JSR223预处理器
String[] varArray = {"US", "UK"};
idx = Integer.parseInt(vars.get("loopCounter"))-1;
vars.put("myVariable", varArray[idx]);
反逻辑:
整个脚本,这是多个 API 调用的链,我想使用获取数据,只有一个调用。
结果:
我得到 null
,如果我尝试使用获取变量。
Script37.groovy: 1: unexpected token: US @ line 1, column 22.
String[] varArray = {"US", "UK"};
使用Apache Groovy时,java数组需要使用方括号:
String[] varArray = ["US", "UK"];
如果您使用的是 Beanshell/Java 脚本语言,您的代码将有效
String[] varArray = {"US", "UK"};
通过 User Defined Variables 定义 countries
变量,例如:
在Loop Controller you can dynamically get the array length via __groovy()函数中为:
${__groovy(vars.get('countries').split().size(),)}
无论你想在 Loop Controller 中的什么地方,你都可以将给定循环的 "current" 国家/地区引用为:
${__groovy(vars.get('countries').split()[vars.get('__jm__Loop Controller__idx') as int],)}
我尝试循环场景 2 次从数组中获取数据。
我的用例是:我想为多个国家/地区创建用户,所以我不想处理这种情况,而是想实现循环逻辑。
到目前为止试过了,但没有成功:
- 我想从这里获取数据
//JSR223预处理器
String[] varArray = {"US", "UK"};
idx = Integer.parseInt(vars.get("loopCounter"))-1;
vars.put("myVariable", varArray[idx]);
反逻辑:
整个脚本,这是多个 API 调用的链,我想使用获取数据,只有一个调用。
结果:
我得到 null
,如果我尝试使用获取变量。
Script37.groovy: 1: unexpected token: US @ line 1, column 22.
String[] varArray = {"US", "UK"};
使用Apache Groovy时,java数组需要使用方括号:
String[] varArray = ["US", "UK"];
如果您使用的是 Beanshell/Java 脚本语言,您的代码将有效
String[] varArray = {"US", "UK"};
通过 User Defined Variables 定义
countries
变量,例如:在Loop Controller you can dynamically get the array length via __groovy()函数中为:
${__groovy(vars.get('countries').split().size(),)}
无论你想在 Loop Controller 中的什么地方,你都可以将给定循环的 "current" 国家/地区引用为:
${__groovy(vars.get('countries').split()[vars.get('__jm__Loop Controller__idx') as int],)}