如何通过 newman 按请求使用 csv 文件行中的数据?

How to use data in csv file row wise to be used per request via newman?

我的邮递员有很多请求 collection 例如:- 请求 1 请求 2 ... 请求 N

对于这些请求中的每一个,我想传递一个客户端 ID,每个请求的客户端 ID 都是唯一的。我已经用这些客户端 ID 创建了一个数据文件。所以 CSV 文件中的数据如下:- 客户编号 1个 2个 .. N

我的要求是在请求 1 中使用客户端 ID 1,在请求 2 中使用客户端 ID 2,而不是在整个 collection 中迭代客户端 ID 1。

所以基本上 CSV 文件中的数据在所有请求中按行使用。

非常感谢有关如何实现这一目标的建议。

我尝试使用 Runner,但它不符合我的要求

也许在这里不使用 .csv 文件会更容易,但是 Postman 环境变量.

如果 ClientIDs 的数量与请求的数量相匹配,您可以这样做:

在第一个请求的 Pre-Request Script 中,您必须启动一个 clientIDs 数组:

const clientIdArr =  [1,2,3,4,5,6,7,8,9,10];
pm.environment.set('clientIdArr', clientIdArr);

然后我们将在每个后续Postman Collection请求中移动clientID数组的第一个值:

const currentArr = pm.environment.get('clientIdArr');
const currentValue = currentArr.shift();
pm.environment.set('clientIdArr', currentArr);
pm.environment.set('currentClientId', currentValue);

然后您可以在实际请求中使用 {{currentClientId}} 环境变量并通过 Collection Runner 执行 Postman Collection

更详细的Array.prototype.shift()工作原理请参考以下link.

如果您的 Postman Collection 中有大量请求,您可以考虑将这些脚本设为 Postman Global Functions.