如何检查POSTMAN中是不是存在对象?

Posted

技术标签:

【中文标题】如何检查POSTMAN中是不是存在对象?【英文标题】:How to check if an object exist in POSTMAN?如何检查POSTMAN中是否存在对象? 【发布时间】:2017-10-13 21:50:30 【问题描述】:

我想知道如何测试对象是否存在。 例如,我的 API 返回这些内容:

"data": [
    
      "id": 1,
      "name": "Abu Dhabi",
      "locale": "AE",
      "rentWayCountryId": 242,
      "stations": [
        
          "id": 2,
          "rentWayName": "ABU DHABI AIRPORT",
          "rentWayStationId": "IAEAUH1",
          "bindExtrasToStationToExtraCategory": []
        
      ]
    ,

我想检查 data.id 是否存在。

我在邮递员中使用了测试选项,我这样做了:

var jsonData = JSON.parse(responseBody);
tests["Name value OK"] = jsonData.data.id === "1";

你能告诉我只有当数据存在时我应该使用哪个条件来验证?

非常感谢!!

【问题讨论】:

【参考方案1】:

这是一个正确的 Postman 测试:

const jsonData = pm.response.json();

pm.test('Has data', function() 
  pm.expect(jsonData).to.have.property('data');
);

根据响应中是否存在data 属性,以上将通过或失败您的邮递员请求。

【讨论】:

【参考方案2】:

检查对象是否存在,相当于检查对象是否为空。

if(object)//runs if object is not null

【讨论】:

【参考方案3】:

感谢您的想法! 我试过这个:

var jsonData = JSON.parse(responseBody);
tests["idExist"] = jsonData.data.id !== null ;

它奏效了。 非常感谢

【讨论】:

您好,欢迎来到 *** Mehdy :) 如果您找到回答您问题的答案,我们建议您通过单击旁边的勾选选项“接受”它。这向其他开发人员快速显示了正确的解决方案。它还可以帮助您和回答者赢得少量声誉(您名字旁边的点数)。【参考方案4】:

如果您需要检查是否设置了变量,请使用此解决方案:

tests["idExist"] = pm.globals.get('dealerId') !== undefined;

【讨论】:

以上是关于如何检查POSTMAN中是不是存在对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何快速检查对象数组中是不是存在属性值

如何检查对象是不是已存在于列表中

如何在oracle中检查对象是不是存在[重复]

如何检查 JSON 对象数组中是不是存在键

如何使用 lua 检查 Roblox 中是不是存在对象?

在 Razor 中,如何根据元素的属性检查 ViewBag IEnumerable 对象中是不是存在对象?