使用 POSTMAN 或任何其他方式批量 POST/PUT API 请求
Bulk POST/PUT API requests using POSTMAN or any other means
我有一个 API 请求的列表,这些请求已经是 URL 格式。我只需要一个接一个自动 POST 它们并记录它们的结果。
我唯一能做的就是复制每个 url 并使用邮递员发送它们。但是真的很费时间。我试着查看任务运行器,但似乎很难将变量设置为等于我所有请求的数据文件
https://someApi/clientAssign?auth=123|asdf&otherParamsList=123Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=456Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=899Params
我不确定使用邮递员一个接一个地触发上述 url 的方法。我有大约 60 个 POST 请求和 60 个 PUT 请求
任何人都可以提出实现此目标的方法。我可以通过复制 url 并手动发布它们来完成。我只是不能经常花这么多时间做这件事。而且我已经花时间准备 url 并替换了适当的值并准备就绪。任何帮助表示赞赏。
没关系,我想出了一个方法来使用 post 人的 collection 运行ner 来完成同样的事情。
对于那些像我一样挣扎的人,这里是如何使用该功能,它更容易在旅途中将值替换为您的 url。
首先在 Postman 中创建一个请求:
下面是示例的屏幕截图:
现在的要求是 post 下面 url:
https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL
用您需要上传的 csv 文件中的值替换 {{VariableFromFile}}。您的 csv 格式应如下所示,其中 header 应与您的 url:
中使用的变量名称相同
单击示例文件夹旁边的“>”按钮,然后单击 'Run' 在 Collection 运行ner[=59= 上打开相同的内容] window 的 post 人:
一旦 Collection 运行ner window 打开,点击 select 文件 选项上传你的 csv 文件,并且 Iterations 字段默认为 pre-filled 以及 csv 文件上的记录数。您可以更改数字,当您这样做时,请确保您想要 运行 的迭代次数,因为它与您上传的 csv 中的行数直接相关。
您还可以预览上传的 csv 文件:
如果您单击 运行 示例 按钮,collection 运行 和 post 是 url 9 次,{{VariableFromFile}} 每次迭代都用 csv 文件中的值替换。
您可以替换更多的变量,只需再增加一列相关的变量名称,并在您的 api 调用中使用相同的变量即可。就这么简单。它确实为我减少了很多手工工作!!
你也可以参考下面的link,它指导我在Postman中使用这个功能。 Link
希望这对某人有所帮助。
我找到了将原始数据添加为 JSON
的解决方案。
来自 Body > raw
[
{
"text": "Buy Milk",
"completed": true
},
{
"text": "Check updated of wall street",
"completed": false
},
{
"text": "Play game with team",
"completed": true
}
]
很多开发人员会使用 chethandb 的答案,但问题(如果像我一样)不仅要大量执行请求,还要在某处保存响应。
- 初始请求
RECIPIENTACCOUNT 是 variable/parameter 在 CSV 中使用并传递到每个请求中。
- 正在更新初始请求
将以下代码添加到选项卡测试中:
let responses = pm.collectionVariables.get('collectionResponses')
if(responses) {
responses = JSON.parse(responses);
} else {
responses = []
}
responses.push(pm.response.json());
pm.collectionVariables.set('collectionResponses', JSON.stringify(responses));
制作一个包含参数的 csv(在我的例子中是客户的 ibans)。
/home/rudy/Desktop/recipientaccount.csv
我不会透露我们客户的收件人号码。
重要的是要注意 RECIPIENTACCOUNT 在请求中用作参数。
那么你就可以开始了。
- 执行请求
点击右边的箭头(不显示,因为它消失了)。
点击 运行。一个新的 windows 已打开。
单击'select File' 进行文件选择并选择(例如)recipientaccount.csv。
点击 'Save reponses'。
更改'Iterations'(如果需要)。
如果你愿意,你可以'preview'。
单击蓝色按钮(在我的示例中为 运行 客户可达性)。
请求被执行(顺序)。
我已将请求数量限制为 3(图片显示为“1”,抱歉)
3个请求全部正确执行。
- 现在是得出结果的时候了。
关闭 'collection runner' window。
返回'Customer Reachability'
单击右侧的 3 个点,然后单击 'edit'
单击变量并进行选择并从 'CURRENT VALUE' 复制结果:
[{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}}]
结果一大行。您必须使用 sed/awk/... 根据需要格式化结果。
我有一个 API 请求的列表,这些请求已经是 URL 格式。我只需要一个接一个自动 POST 它们并记录它们的结果。
我唯一能做的就是复制每个 url 并使用邮递员发送它们。但是真的很费时间。我试着查看任务运行器,但似乎很难将变量设置为等于我所有请求的数据文件
https://someApi/clientAssign?auth=123|asdf&otherParamsList=123Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=456Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=899Params
我不确定使用邮递员一个接一个地触发上述 url 的方法。我有大约 60 个 POST 请求和 60 个 PUT 请求
任何人都可以提出实现此目标的方法。我可以通过复制 url 并手动发布它们来完成。我只是不能经常花这么多时间做这件事。而且我已经花时间准备 url 并替换了适当的值并准备就绪。任何帮助表示赞赏。
没关系,我想出了一个方法来使用 post 人的 collection 运行ner 来完成同样的事情。 对于那些像我一样挣扎的人,这里是如何使用该功能,它更容易在旅途中将值替换为您的 url。
首先在 Postman 中创建一个请求:
下面是示例的屏幕截图:
现在的要求是 post 下面 url: https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL
用您需要上传的 csv 文件中的值替换 {{VariableFromFile}}。您的 csv 格式应如下所示,其中 header 应与您的 url:
中使用的变量名称相同单击示例文件夹旁边的“>”按钮,然后单击 'Run' 在 Collection 运行ner[=59= 上打开相同的内容] window 的 post 人:
一旦 Collection 运行ner window 打开,点击 select 文件 选项上传你的 csv 文件,并且 Iterations 字段默认为 pre-filled 以及 csv 文件上的记录数。您可以更改数字,当您这样做时,请确保您想要 运行 的迭代次数,因为它与您上传的 csv 中的行数直接相关。
您还可以预览上传的 csv 文件:
如果您单击 运行 示例 按钮,collection 运行 和 post 是 url 9 次,{{VariableFromFile}} 每次迭代都用 csv 文件中的值替换。
您可以替换更多的变量,只需再增加一列相关的变量名称,并在您的 api 调用中使用相同的变量即可。就这么简单。它确实为我减少了很多手工工作!!
你也可以参考下面的link,它指导我在Postman中使用这个功能。 Link
希望这对某人有所帮助。
我找到了将原始数据添加为 JSON
的解决方案。
来自 Body > raw
[
{
"text": "Buy Milk",
"completed": true
},
{
"text": "Check updated of wall street",
"completed": false
},
{
"text": "Play game with team",
"completed": true
}
]
很多开发人员会使用 chethandb 的答案,但问题(如果像我一样)不仅要大量执行请求,还要在某处保存响应。
- 初始请求
RECIPIENTACCOUNT 是 variable/parameter 在 CSV 中使用并传递到每个请求中。
- 正在更新初始请求
将以下代码添加到选项卡测试中:
let responses = pm.collectionVariables.get('collectionResponses')
if(responses) {
responses = JSON.parse(responses);
} else {
responses = []
}
responses.push(pm.response.json());
pm.collectionVariables.set('collectionResponses', JSON.stringify(responses));
制作一个包含参数的 csv(在我的例子中是客户的 ibans)。
/home/rudy/Desktop/recipientaccount.csv
我不会透露我们客户的收件人号码。
重要的是要注意 RECIPIENTACCOUNT 在请求中用作参数。
那么你就可以开始了。
- 执行请求
点击右边的箭头(不显示,因为它消失了)。
点击 运行。一个新的 windows 已打开。
单击'select File' 进行文件选择并选择(例如)recipientaccount.csv。
点击 'Save reponses'。
更改'Iterations'(如果需要)。
如果你愿意,你可以'preview'。
单击蓝色按钮(在我的示例中为 运行 客户可达性)。
请求被执行(顺序)。
我已将请求数量限制为 3(图片显示为“1”,抱歉)
- 现在是得出结果的时候了。
关闭 'collection runner' window。
返回'Customer Reachability'
单击右侧的 3 个点,然后单击 'edit'
单击变量并进行选择并从 'CURRENT VALUE' 复制结果:
[{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}}]
结果一大行。您必须使用 sed/awk/... 根据需要格式化结果。