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

jMeter-在后续请求中重复使用响应数据,jmeter,load-testing,Jmeter,Load Testing,我们的服务工作方式如下: 首先,发送一个带有搜索参数的请求,我们将为此返回一个searchId。然后使用此searchId继续获取信息,直到服务响应hasMore参数变为false,因为它没有更多的数据 问题是——我已经设置了jMeter来发送第一个请求,但不确定如何继续为线程组中的每个响应并行发送请求,并且需要您的建议。我的想法是建立另一个线程组,因为我无法将它设置在第一个线程组中,但是我如何访问响应并并行处理它们呢 编辑: 这就是我的结局。第一个Beanshell取样器提取searchId和

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

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

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

编辑:

这就是我的结局。第一个Beanshell取样器提取searchId和hasMore并将其放入VAR。第二个采样器提取hasMore并再次将其放入vars中,覆盖第一个。最后,While循环使用${uuujavascript${hasMore}==1,}按预期工作


我建议两个线程组

第一线程组:

将SearchID保存在文件JSR223 Sampler或数据库JDBC Sampler中,密钥为计数器1,2,。。。和值作为searchId值

在属性${uuuu setPropertythreadCount,${counter}中保存大量ID

第二线程组:

在定义中-使用${uuu PthreadCount}的线程数

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


使用${uuuu threadNum}作为键获取所需的相关searchId

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

请求获取searchId 条件为${uuu javaScript${hasMore}!=false,} 请求继续获取信息 提取hasMore参数并将其存储到相关
这种方式将执行获取信息请求,直到hasMore参数变为false。有关更多详细信息,请参阅文章

我尝试过这种方法,但不幸的是,后处理器BeanShell脚本在线程组之外被调用——我注意到了这种奇怪的行为。因此,它也不会进入While控制器,直接进入tht组之外的脚本。