将多次出现的id发送到jmeter中的请求

Sending muliple occurrences of id to a request in jmeter

从 soap XML 响应中,我需要获取所有出现的 id(这部分已经使用 Match No 在 Regex 提取器中设置为 -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。还是运行无限。

您是否考虑过使用 ForEach Controller

鉴于您有 JMeter Variables 的形式:

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

将 ForEach 控制器添加到您的测试计划中并像这样配置它:

并将 "subsequent" 采样器作为 ForEach 控制器的子级,并将生成的后续 ID 值引用为 ${CURRENT_ID},其中需要

通过实际示例了解有关概念的更多信息:Using Regular Expressions in JMeter