如何通过 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.
我的邮递员有很多请求 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.