【问题标题】:postman collection runner pass an array of values in data file邮递员收集运行器在数据文件中传递一组值
【发布时间】:2020-04-27 00:06:18
【问题描述】:

我有一个这样的 api 定义:

{
"myVar01": "{{myVar01}}",
"myVar02": "{{myVar02}}",
"myVar03": "{{<myVar03>}}",
"myVar04": {
    "myVar04-01": "{{myVar04-01}}",
    "myVar04-02": "{{myVar04-02}}",
    "myDataArray": [
        {
            "myArrayVar01": "{{myArrayVar01}}",
            "myArrayVar02": "{{myArrayVar02}}",
            "myArrayVar03": "{{myArrayVar03}}",
            "myArrayVar04": "{{myArrayVar04}}",
            "myArrayVar05": "{{myArrayVar05}}"
        },
        {
            "myArrayVar01": "{{myArrayVar01}}",
            "myArrayVar02": "{{myArrayVar02}}",
            "myArrayVar03": "{{myArrayVar03}}",
            "myArrayVar04": "{{myArrayVar04}}",
            "myArrayVar05": "{{myArrayVar05}}"
        },
        .....
    ]
    ]
}

}

我必须创建一个数据文件来在这个 api 上运行几个测试,问题是我如何定义我的数据文件来为“myDataArray”结构创建数据?

【问题讨论】:

  • 使用变量名称和值创建 csv 文件。参考这个答案:stackoverflow.com/a/55058791/4753489
  • 谢谢,但这不是我问的问题,我已经有了 CSV 文件,实际上不是 CSV,我使用 JSON 文件,因为我无法从 CSV 文件中获取变量并且它可以正常工作就像 JSON 的魅力一样,但没关系。问题是关于在文件中创建一个 kindof 数组来为每个测试组处理 myDataArray 的多个值

标签: testing collections postman runner


【解决方案1】:

好的,终于找到问题了。

API 定义必须是这样的:

    {
    "myVar01": "{{myVar01}}",
    "myVar02": "{{myVar02}}",
    "myVar03": "{{myVar03}}",
    "Struct": {
        "myVar04-01": "{{myVar04-01}}",
        "myVar04-02": "{{myVar04-02}}",
        "myDataArray": {{localVarDataAray}}
    }
}

json 文件必须是这样的:

    [
{
  "myVar01": "0123456789012345678901234567890123456789",
  "myVar02": "0123456789012345678901234567890123456789",
  "myVar03": "0123456789012345678901234567890123456789",
  "myVar04-01": "0123456789012345678901234567890123456789",
  "myVar04-02": "0123456789012345678901234567890123456789",
  "myDataArray":[{
                "myArrayVar01": 1,
                "myArrayVar02": 1,
                "myArrayVar03": 1,
                "myArrayVar04": 4,
                "myArrayVar05": 0
            },{
                "myArrayVar01": 2,
                "myArrayVar02": 2,
                "myArrayVar03": 2,
                "myArrayVar04": 4,
                "myArrayVar05": 0
            }]
},
{
  "myVar01": "0123456789012345678901234567890123456789",
  "myVar02": "0123456789012345678901234567890123456789",
  "myVar03": "0123456789012345678901234567890123456789",
  "myVar04-01": "0123456789012345678901234567890123456789",
  "myVar04-02": "0123456789012345678901234567890123456789",
  "myDataArray":[{
                "myArrayVar01": 1,
                "myArrayVar02": 1,
                "myArrayVar03": 1,
                "myArrayVar04": 4,
                "myArrayVar05": 0
            },{
                "myArrayVar01": 2,
                "myArrayVar02": 2,
                "myArrayVar03": 2,
                "myArrayVar04": 4,
                "myArrayVar05": 0
            }]
}
]

我必须像这样定义一个预请求脚本:

 let localVarDataAray="";
pm.variables.set('localVarDataAray',JSON.stringify(data.myDataArray));

而且效果很好

【讨论】:

    猜你喜欢
    • 2020-06-17
    • 2019-11-16
    • 2021-11-23
    • 2018-10-25
    • 2021-02-09
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多