首页 > 解决方案 > 将多次出现的 id 发送到 jmeter 中的请求

问题描述

从肥皂 XML 响应中,我需要获取所有出现的 id(这部分已经使用正则表达式提取器中的匹配号设置为 -1 完成)。

然后我需要将这些 id 发送到后续请求。也就是说,该请求需要被触发的次数与 id 的总出现次数一样多,我们可以将其称为ID_matchNr. (这是我从 Regex 提取器获得的总出现次数)。

我使用了一个while循环和一个计数器。while 循环一直工作到ID_matchNr,但它并没有停在那里,while 循环是无限的。如何解决这个问题?

我的计数器的参考名称是count,我的请求中的字段名称是${__V(ID_${count})}. 而while循环的条件是${count}<=${ID_matchNr}。我还尝试使用 beanshell 将其保存ID_matchNr到另一个变量,然后在 while 条件下使用它而不是直接使用ID_matchNr. 还在无限运行。

标签: loopswhile-loopjmeterinfinite

解决方案


您是否考虑过使用ForEach 控制器

鉴于您有以下形式的JMeter 变量

ID_1=foo
ID_2=bar
ID_3=baz
ID_matchNr=3

在此处输入图像描述

将 ForEach 控制器添加到您的测试计划并进行如下配置:

在此处输入图像描述

并将“后续”采样器作为 ForEach 控制器的子级,并${CURRENT_ID}在需要时引用生成的后续 ID 值

在此处输入图像描述

通过实际示例了解有关该概念的更多信息:在 JMeter 中使用正则表达式


推荐阅读