【问题标题】: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";

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

非常感谢!!

【问题讨论】:

    标签: json postman


    【解决方案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 ;
        

        它奏效了。 非常感谢

        【讨论】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-02
          • 2011-09-26
          • 2012-07-27
          • 2013-09-26
          • 2012-06-19
          相关资源
          最近更新 更多