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

时间:2017-06-22 06:31:16

标签: jmeter load-testing

我们的服务有以下方式:

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

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

EDITED

这就是我最终的结果。 First Beanshell Sampler提取searchId和hasMore并将其放入变量中。第二个采样器提取hasMore并再次将其放入变量中,覆盖第一个。最后,While循环按预期工作,使用$ {__ javaScript(" $ {hasMore}" ==" 1",)}。

Project Test Plan

2 个答案:

答案 0 :(得分:1)

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

这种方式"获取信息"请求将在hasMore参数变为false之前执行。有关详细信息,请参阅Using the While Controller in JMeter文章。

答案 1 :(得分:0)

我建议2个线程组

第一个线程组:

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

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

第二个线程组:

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

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

使用$ {__ threadNum}作为密钥获取您需要的相关searchId