遇到一些问题,无法在一句话中显示API响应值

时间:2018-08-07 11:22:33

标签: api response postman

我正在尝试断言并打印响应,这需要帮助。

下面是响应正文:

{  
   "createdIncidents":[  
      {  
         "incidentRef":"I0000000",
         "personName":"API API",
         "personType":"Patient"
      },
      {  
         "incidentRef":"I0000000",
         "personName":"Ballarat HelpDesk",
         "personType":"Staff"
      },
      {  
         "incidentRef":"I0000000",
         "personName":"test api",
         "personType":"Visitor"
      },
      {  
         "incidentRef":"I0000000",
         "personName":null,
         "personType":"Hazard"
      }
   ]
}

我正在尝试将incidentRefpersonType一起打印在一个字符串中。

为此,我正在使用以下代码:

var data = JSON.parse(responseBody);
data.createdIncidents.forEach(function(incident, personT) {
    var personType = "personType" + personT.personType;
    var incidents = "incidentRef" + incident.incidentRef;
    var pt = tests["incidents created for " + personType ] = 'personType';
    var inc = tests["incidents number is " + incidents] = 'incidents';
    tests["incidents created for" +inc && + pt ];
});

此处不读取函数中的第二项。
在单独的函数声明中,它可以正常工作。

我想将其打印为:

"incidentRef": "I0000000 is created for "personType": "Hazard""

1 个答案:

答案 0 :(得分:0)

这会将createdIncidents数组中的每个项目记录到控制台-不确定您实际上是要对之声明的内容:

_.each(pm.response.json().createdIncidents, (arrItem) => {
    console.log(`Incident Ref: ${arrItem.incidentRef} is created for Person Type: ${arrItem.personType}`)
})

给出您的响应数据,这将是输出:

Incident Ref: I0000000 is created for Person Type: Patient
Incident Ref: I0000000 is created for Person Type: Staff
Incident Ref: I0000000 is created for Person Type: Visitor
Incident Ref: I0000000 is created for Person Type: Hazard

这可以包装在pm.test()中,并且可以使用pm.expect()语法声明不同的项目。

这是非常基本的并且非常硬编码,但是它将检查您示例中的数据:

pm.test('Check the response', () => {
    _.each(pm.response.json().createdIncidents, (arrItem) => {
        pm.expect(arrItem.incidentRef).to.equal("I0000000")
        pm.expect(arrItem.personType).to.be.oneOf(['Patient','Staff','Visitor','Hazard'])
        console.log(`Incident Ref: ${arrItem.incidentRef} is created for Person Type: ${arrItem.personType}`)
    })
})