api - 使用带有从 Postman 中的 CSV 文件导入的正文数据的 POST 请求

标签 api automation postman newman

我是 POSTMAN 新手,面临着从 CSV 文件等外部源驱动数据并使用它将数据传递到请求正文的问题,而不是使用不同的数据集多次编写相同的脚本。

在请求正文中,我将原始数据作为 (application/json) 传递

{
    "groupCode": "FAFCE",
    "associationCode": "",
    "programTypeCode": "NE",
    "rateCalculationFilters": [
        {
            "fieldName": "EquipmentModel",
            "fieldValue": "0" //<Ex different set of data:2009,1992 >
        }, 
        {
            "fieldName": "TERM",
            "fieldValue": "3" //<Ex 3,7,4 >
        }, 
        {
            "fieldName": "POWERUPRATE",
            "fieldValue": "75000" //<Ex set of data:82009,77992 
        }
    ]
}

我为 11 组数据编写了 11 个调用。当数据增加时,我必须编写更多的调用,维护将超出我的预期。我想从 CSV 文件传递​​数据,并使用不同的数据集多次运行相同的脚本,而不是单个脚本。

最佳答案

您可以通过在 POST 请求正文中使用 {{...}} 语法来实现此目的,如下所示:

{
    "groupCode": "FAFCE",
    "associationCode": "",
    "programTypeCode": "NE",
    "rateCalculationFilters": [
        {
            "fieldName": "EquipmentModel",
            "fieldValue": {{EquipmentModel}}
        },
        {
            "fieldName": "TERM",
            "fieldValue": {{TERM}}
        },
        {
            "fieldName": "POWERUPRATE",
            "fieldValue": {{POWERUPRATE}}
        }
    ]
}

然后创建 CSV 或 JSON 文件以在 11 个请求期间填充这些占位符。

这是一个使用 JSON 数据文件的示例,在每次迭代运行时,它将使用文件中的每组值:

[
    {
        "EquipmentModel": 1,
        "TERM": 1,
        "POWERUPRATE": 1
    },
    {
        "EquipmentModel": 2,
        "TERM": 2,
        "POWERUPRATE": 2
    }
]

Postman

关于api - 使用带有从 Postman 中的 CSV 文件导入的正文数据的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49154761/

相关文章:

java - 正确读取 Excel 行

ant - 我应该如何维护 JDK7 项目,以便它们可以自动降级为 JDK6?

javascript - 在 postman 中,我如何根据另一个测试是通过还是失败来运行新测试?

javascript - CodeIgniter REST_Controller 初学者问题

php - Laravel Passport 中的自定义 token 响应

javascript - 如何使用 JavaScript/JQuery 在面向公众的 ASP.NET 网站上使用 SP2013 REST API?

java - 如何在postman中将多个字符串包装成单个字符串来调用spring boot Rest API Get请求

c++ - 安全服务器不工作

java - 使用自动生成的代码创建一个通用的 Spring Boot 项目

javascript - 连接到 http ://localhost:3000/api/contact 时出错