当前位置: 首页 > 知识库问答 >
问题:

如果结果返回,如何在postman中验证而不考虑结果的数量

茅秦斩
2023-03-14

如何在 postman 中验证响应中的所有数据返回 id、名字、姓氏等的结果数量

下面是响应的样子:

[
    {
        "id": 1,
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com"
    },
    {
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com",
        "id": 4
    },
    {
        "id": 5,
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com"
    },
    {
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com",
        "id": 8
    },
    {
        "id": 9,
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com"
    },
    {
        "first_name": "Sebastian",
        "last_name": "Eschweiler",
        "email": "sebastian@codingthesmartway.com",
        "id": 12
    }
]

我想验证两件事:

1)响应返回id,first_name,last_name,电子邮件

2)所有的first_name都等于“Sebastian ”,不管只有一个结果还是100个结果

这是我尝试过的,但它只适用于一个结果:

const jsonData = pm.response.json();

pm.test('Has data', function() {
  pm.expect(jsonData).to.have.property('first_name');
  pm.expect(jsonData).to.have.property('last_name');
  pm.expect(jsonData).to.have.property('email');
  pm.expect(jsonData).to.have.property('id');

});

共有1个答案

端木狐若
2023-03-14

你可以试试这个:

pm.test("Has data",() => {
    _.each(pm.response.json(), (item) => {
      pm.expect(item.first_name).to.eql("Sebastian")
      pm.expect(item).to.have.property('first_name')
      pm.expect(item).to.have.property('last_name')
      pm.expect(item).to.have.property('email')
      pm.expect(item).to.have.property('id')
    })
})

这将根据您提供的数据集工作。

 类似资料:
  • 我正在尝试编写一个SeleniumWebDriver测试,它可以导航到Google,搜索一些东西,然后验证Google是否搜索了输入的内容。然而,下面的代码给出了一个“false”输出,当我看到它是真的时。 我在这个场景中找到的所有代码似乎都是Google Instant之前的代码,我无法在FirefoxDriver中关闭Instant。它还应该等待网页,图像,视频等酒吧被点击之前,检查任何东西;

  • 我有一个简单的代码,可以从第14列开始将转置的范围复制到另一张表的最后一行 它按原样返回零结果。如果我将destrow从公式更改为simple 2(这是现在最后一个空行),则效果很好。为什么不返回目标工作表中的最后一行索引?

  • 我正在尝试处理新的AndroidLollipopMediaProjection API。 我发现(至少在我的股票三星Galaxy S4 jfltexx上),当我开始意图获取捕获屏幕的权限()时,除非我在前面的尝试中选中了“不要再次询问”,否则在中不会有结果... 和结果处理: 权限对话框显示得很好,但是我的活动被隐藏了,它永远不会转到。 知道出什么问题了吗?

  • 虽然运行与SQL查询相同的查询并获取结果,但在ifCurrent中未获取任何结果。 我是否传递了错误的参数? 这就是在学校里通过的

  • 问题内容: 我需要查询里面有很多在它的数据的Sybase数据库,并希望设置限制,因此DB后10个结果停止查询。 关键的是性能,因此,如果找遍了所有结果,然后再回到过去的10个结果将是没有用的。 提前致谢 问题答案: 我相信你可以做一个,然后再在这个环节中的所有查询,直到进一步的将返回不超过10行。正如评论指出,这会影响 所有 在会议之后的查询(不只是S ^!),直至关闭(通过设置为0),或设置不同