如何通过newman每个请求明智地使用csv文件中的数据?

时间:2019-09-13 12:32:20

标签: api collections postman newman data-files

我的邮递员收藏中有很多请求,例如: 请求1 要求2 ... 请求N

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

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

因此,基本上CSV文件中的数据将在所有请求中逐行使用。

我将非常感谢有关如何实现此目标的建议。

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

1 个答案:

答案 0 :(得分:0)

也许不使用.csv文件而是使用邮递员环境变量会更容易。

如果 ClientIDs 的数量与请求的数量匹配,则可以执行以下操作:

在第一个请求的 Pre-Request脚本中,您必须启动一个 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 Global Functions