我正在使用JSON提取器从JSON响应中提取两个不同列表中的2个两组值
我正在使用foreach循环遍历list1的值,因此我可以轻松地一对一地从list1中获取值:
但是我想在此foreach循环内的请求之一中从list2发送值。 如何从list2一对一获取值,以便将其作为参数发送:
将为列表中的每个项目调用此HTTP请求。我想在给定的HTTP请求中将list2的值添加到lastUpdated
参数中。该怎么做?
我做了一些研究,得知我们可以使用Beanshell PreProcessor来完成此任务。我在Beanshell PreProcessor中添加了以下代码:
idx = Integer.parseInt(vars.get("item_no"))-1;
vars.put("date", vars.get("list2")[idx]);
并尝试通过以下日期:
{"qId":"${q_oid}","items":[{"itemId":"${qi_id}","lastUpdated":"${date}"}]}
但是我在lastUpdated
arg中变得空白。
注意:我已经在测试计划的用户定义变量中添加了“日期”
答案 0 :(得分:1)
list2变量另存为:list_1 list_2 list_3,...
内更改变量名称vars.put("date", vars.get("list2_" + idx));
例如,当输入变量的名称为inputVar时,应定义以下变量:
inputVar_1 =温迪 inputVar_2 =查尔斯 inputVar_3 =彼得 inputVar_4 =约翰
请注意,JMeter还在ForEach Controller中持有特殊变量:
JMeter将循环索引显示为名为 jm __ idx的变量。因此,例如,如果您的循环控制器名为FEC,则可以通过$ {__ jm__FEC__idx}访问循环索引。索引从0开始