我在邮递员测试中有以下代码。我正在尝试从JSON中提取一些值。但是,它们没有发布在环境变量中。

pm.test("Extract Projects", function () {

    var jsonData = pm.response.json();
    var aDataEntry = [];

    for (var i=0;i<jsonData.length;i++){

        if (jsonData[i].projectCategory.name=="External Projects")
        {
          aDataEntry.push(jsonData[i].key);
        }
    }

    console.log('test');

    pm.environment.set('projects',JSON.stringify(aDataEntry));

});

最佳答案

不太确定为什么将它包装在测试中,因为它没有真正测试任何东西。

在没有看到实际响应数据的情况下,您可以尝试以下操作:

var jsonData    = pm.response.json();
var aDataEntry  = [];

_.each(jsonData, (arrItem) => {
    if(arrItem.projectCategory.name === "External Projects") {
        aDataEntry.push(arrItem.key);
    }
})

pm.environment.set('projects', JSON.stringify(aDataEntry));

07-28 06:39