发布请求后,我想将两个不同的“获取请求”中的某些属性另存为环境变量。
在代码行中,从第二个请求中提取数据,PostMan给出了“ TypeError:无法读取未定义的'length'属性”。
原因是我期望第二个请求的响应中有一个数组,但没有。通过登录到控制台,我注意到,尽管第二个请求的响应显示了该数组,但PostMan响应对象包含了第一个请求的响应。我试图找出原因,但找不到线索。这是我的代码:
var request1 = "The first request"
pm.sendRequest(request1, function ()
{
var jsonData1 = pm.response.json();
pm.environment.set("CCIdNewBranch", jsonData1.id);
});
var request2 = "The second request"
pm.sendRequest(request2, function ()
{
var jsonData2 = pm.response.json();
for (var i = 0; i < jsonData2.data.length; i++)
{
if (jsonData2.data[i].rdcNumber == pm.environment.get("RdcNNewBranch"))
{
pm.environment.set ("DmsIIdNewBranch",jsonData2.data[i].dmsInstanceId)
break
};
}
});
答案 0 :(得分:0)
我将此请求放入另一个请求的Testscript中的原因是为了减少集合中的请求数量。
现在,我意识到pm.sendRequest本质上是一个异步请求,您无法控制执行不同请求的顺序。因此,最好不要在TestScript中只有一个pm.sendRequest方法。