Api 使用POST请求并从Postman中的CSV文件导入正文数据

Api 使用POST请求并从Postman中的CSV文件导入正文数据,api,automation,postman,newman,Api,Automation,Postman,Newman,我是一个新来的邮递员,面临一个问题:从外部源(如CSV文件)驱动数据,并使用它将数据传递到请求主体,而不是使用不同的数据集多次编写相同的脚本 在请求体中,我以(application/json)的形式传入原始数据 { “组码”:“FAFCE”, “关联代码”:“, “程序类型代码”:“NE”, “rateCalculationFilters”:[ { “字段名”:“设备型号”, “字段值”:“0”// }, { “字段名”:“术语”, “字段值”:“3”// }, { “字段名”:“POWE

我是一个新来的邮递员,面临一个问题:从外部源(如CSV文件)驱动数据,并使用它将数据传递到请求主体,而不是使用不同的数据集多次编写相同的脚本

在请求体中,我以(application/json)的形式传入原始数据

{
“组码”:“FAFCE”,
“关联代码”:“,
“程序类型代码”:“NE”,
“rateCalculationFilters”:[
{
“字段名”:“设备型号”,
“字段值”:“0”//
}, 
{
“字段名”:“术语”,
“字段值”:“3”//
}, 
{
“字段名”:“POWERUPRATE”,

“fieldValue”:“75000”/您可以通过在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
    }
]

您是否真的阅读过邮递员文档或他们的博客?是的,我已经阅读了文章并遵循了步骤。脚本失败并说“需要非空的请求正文”。但是以下是手动运行并在csv文件中映射的屏幕。运行集合时出错:无效URL“”.Where as与上述原始JSON格式配合良好。更新您的问题,并提供您迄今为止所做和未做的所有详细信息。同时添加您正在使用的任何脚本。这比试图在注释中解释一半要好。在正文中,我将原始数据作为(应用程序/JSON)“rateCalculationFilters”:[{“fieldName”:“设备模型”,“字段值”:“0”Ex不同数据集:20091992},{“字段名”:“术语”,“字段值”:“3”Ex:2,7},{“字段名”:“POWERUPRATE”,“字段值”:“75000”400090000}]为11组数据编写了11个调用。当数据将增加时,必须编写更多调用&维护将更加期望:我希望从csv文件传递数据,并使用不同的数据集多次运行同一脚本,而不是单独的脚本谢谢,应用了您提供的逻辑,现在可以使用csv文件。但是尝试了h在JSON中是相同的,但它只运行一次,而不是拾取同一组数据。您设置了多少次
迭代
?默认值是
1
,因此如果您只按下按钮,它将只拾取第一组数据。谢谢Danny,您是对的。对于JSON,我们不必给出迭代次数。对于CSV迭代,则自动调用y、 csv文件的记录数也面临类似的问题,而在这里使用变量验证结果的是验证脚本pm.test(“匹配利率4.29”,函数(){pm.expect(pm.response.text()).to.include(“4.29”);});现在我想在“test”中检查结果,方法与传递变量相同。下面是我尝试的代码pm.test(“匹配利率4.29“,函数(){pm.expect(pm.response.text()).to.include(数据[“ExpectedResult”]);});当我在collection runner中看到预览数据时,它显示为4.29。它获取数据,但结果显示失败。您能帮助我解决此问题吗?这是另一个问题。尝试在同一个问题中不要问多个问题-使用新的详细信息创建另一个问题。
[
    {
        "EquipmentModel": 1,
        "TERM": 1,
        "POWERUPRATE": 1
    },
    {
        "EquipmentModel": 2,
        "TERM": 2,
        "POWERUPRATE": 2
    }
]