如何在一组请求具有相同数据字段(不同于其他组)的线程组中发出请求?
How to have requests in a thread group where a set of requests has a same data field (which is different from other sets)?
我在jmeter中有两个独立的线程组,
第一个线程组:与第一个线程组对应的所有用户负责命中一个API,它创建一个用户和return userId 作为响应
第二线程组:第二线程组对应的所有用户负责命中一个API,为创建的用户上传照片,使用userId(returned in previous response) 作为其请求数据。
我使用了 jmeter 的 InterThreadCommunication 插件,因此来自第一个线程组 API 命中的响应的用户 ID 被映射到第二个线程组 API 命中的请求数据。
问题是在线程组 2 中,我需要 运行 上传用户图像 5 次(以便有一组图像对应于每个用户)。我如何扩展 InterThreadCommunication 功能以将一个 userId 从 threadGroup1 映射到 threadGroup2 的 5 个请求(同样将另一个 userId 映射到另外 5 个请求)
当前实施:
线程组 1:
jp@gc - 线程间通信后处理器:
要将数据放入的 FIFO 队列名称:userIdList
valueToPut: $userId
线程组 2:
jp@gc - 线程间通信预处理器
要从中获取数据的 FIFO 队列名称:userIdList
存储数据的变量名:userId
Thread Group 2 request data ,我使用值作为 $userId
只需使用一次Once Only Controller and execute the request 5 times using Loop Controller
如果线程间通信插件不够灵活,无法满足您的需求,您可以随时切换到另一种在线程组之间传递值的方法,即
使用 __setProperty() and __threadNum() 函数组合将值存储在第一个线程组中,例如:
${__setProperty(userid_${__threadNum}, YOUR_VALUE_HERE,)}
使用 __P() 和 __threadNum() 函数组合来读取第二个线程组中的值,例如:
${__P(userid_${__threadNum},)}
查看 Apache JMeter Functions - An Introduction 文章以获取有关 JMeter 函数概念的更多信息。
我在jmeter中有两个独立的线程组,
第一个线程组:与第一个线程组对应的所有用户负责命中一个API,它创建一个用户和return userId 作为响应
第二线程组:第二线程组对应的所有用户负责命中一个API,为创建的用户上传照片,使用userId(returned in previous response) 作为其请求数据。
我使用了 jmeter 的 InterThreadCommunication 插件,因此来自第一个线程组 API 命中的响应的用户 ID 被映射到第二个线程组 API 命中的请求数据。
问题是在线程组 2 中,我需要 运行 上传用户图像 5 次(以便有一组图像对应于每个用户)。我如何扩展 InterThreadCommunication 功能以将一个 userId 从 threadGroup1 映射到 threadGroup2 的 5 个请求(同样将另一个 userId 映射到另外 5 个请求)
当前实施:
线程组 1:
jp@gc - 线程间通信后处理器:
要将数据放入的 FIFO 队列名称:userIdList
valueToPut: $userId
线程组 2:
jp@gc - 线程间通信预处理器
要从中获取数据的 FIFO 队列名称:userIdList
存储数据的变量名:userId
Thread Group 2 request data ,我使用值作为 $userId
只需使用一次Once Only Controller and execute the request 5 times using Loop Controller
如果线程间通信插件不够灵活,无法满足您的需求,您可以随时切换到另一种在线程组之间传递值的方法,即
使用 __setProperty() and __threadNum() 函数组合将值存储在第一个线程组中,例如:
${__setProperty(userid_${__threadNum}, YOUR_VALUE_HERE,)}
使用 __P() 和 __threadNum() 函数组合来读取第二个线程组中的值,例如:
${__P(userid_${__threadNum},)}
查看 Apache JMeter Functions - An Introduction 文章以获取有关 JMeter 函数概念的更多信息。