Performance 如果一组请求具有相同的数据字段(与其他组不同),那么如何在线程组中包含请求?

Performance 如果一组请求具有相同的数据字段(与其他组不同),那么如何在线程组中包含请求?,performance,jmeter,performance-testing,jmeter-plugins,jmeter-5.0,Performance,Jmeter,Performance Testing,Jmeter Plugins,Jmeter 5.0,我在jmeter中有两个独立的线程组 第一个线程组:与第一个线程组对应的所有用户负责点击一个API,该API创建一个用户并返回userId作为响应 第二个线程组:第二个线程组对应的所有用户负责点击一个API,该API为创建的用户上传照片,并使用在前一个响应中返回的userId作为其请求数据 我使用了jmeter的线程间通信插件,所以来自第一个线程组的API命中响应的用户ID被映射到第二个线程组的API命中请求数据 问题是,在线程组2中,我需要运行用户上传图像5次,以获得一组对应于每个用户的图像。

我在jmeter中有两个独立的线程组

第一个线程组:与第一个线程组对应的所有用户负责点击一个API,该API创建一个用户并返回userId作为响应

第二个线程组:第二个线程组对应的所有用户负责点击一个API,该API为创建的用户上传照片,并使用在前一个响应中返回的userId作为其请求数据

我使用了jmeter的线程间通信插件,所以来自第一个线程组的API命中响应的用户ID被映射到第二个线程组的API命中请求数据

问题是,在线程组2中,我需要运行用户上传图像5次,以获得一组对应于每个用户的图像。如何扩展线程间通信功能,将一个用户标识从threadGroup1映射到threadGroup2的5个请求,并将另一个用户标识映射到另5个请求

目前的执行情况:

线程组1:

jp@gc-线程间通信后处理器:

要将数据放入的FIFO队列名称:userIdList

valueToPut:$userId

线程组2:

jp@gc-线程间通信预处理器

要从中获取数据的FIFO队列名称:userIdList

存储数据的变量名:userId

线程组2请求数据,我使用$userId作为值

如果线程间通信插件不够灵活,无法满足您的需要,您可以随时切换到另一种在线程组之间传递值的方法,即

使用和函数组合将值存储在第一个线程组中,如:

${__setProperty(userid_${__threadNum}, YOUR_VALUE_HERE,)}
 ${__P(userid_${__threadNum},)}
使用和_threadNum函数组合读取第二个线程组中的值,如:

${__setProperty(userid_${__threadNum}, YOUR_VALUE_HERE,)}
 ${__P(userid_${__threadNum},)}
有关JMeter函数概念的更多信息,请参阅本文