jMeter - 在后续请求中重复使用响应数据

jMeter - Re-use response data in follow-up requests

我们有一项服务的工作方式如下:

首先,发送带有搜索参数的请求,我们为此返回一个 searchId。然后使用此 searchId 继续获取信息,直到服务响应它没有更多数据为止(hasMore 参数变为 "false")。

问题是这样的 - 我已将 jMeter 设置为发送第一个请求,但不确定如何继续为线程组中的每个响应并行发送请求,并需要您的建议。我的想法是设置另一个线程组,因为我无法将其设置在第一个线程组中,但是我如何才能访问响应并并行处理它们?

编辑:

这就是我最后的结果。首先 Beanshell Sampler 提取 searchId 和 hasMore 并将其放入 vars 中。 Second Sampler 提取 hasMore 并再次将其放入 vars,覆盖第一个。最后,While 循环按预期工作,使用 ${__javaScript("${hasMore}" == "1",)}.

我建议 2 个线程组

第一个线程组:

将 searchIds 保存在文件 (JSR223 Sampler) 或数据库 (JDBC Sampler) 中,键作为计数器 (1,2,...),值作为 searchId 值

在属性${__setProperty(threadCount,${counter})}中保存多个ID。

第二个线程组:

在定义中 - 使用的线程数 ${__P(threadCount)}

从文件(JSR223 采样器)或数据库(JDBC 采样器)读取

使用 ${__threadNum} 作为键获取您需要的相关 searchId

我建议您按如下方式设计测试:

这样 "fetch information" 请求将一直执行,直到 hasMore 参数变为 false。有关详细信息,请参阅 Using the While Controller in JMeter 文章。