You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman tests中如何校验指定id对应的value值是否符合预期

你的现有写法是错误的,既不能实现你要的校验逻辑,本身的断言写法也存在严重问题。

现有写法的核心错误

  • 响应结构处理错误:你的示例返回结果是数组类型,pm.response.json()拿到的是包含两个对象的数组,没有顶层的id和value属性,你直接访问这两个属性拿到的都是undefined,根本获取不到目标值。
  • 断言语法错误:
    • 你在pm.expect()里用了赋值运算符=,这行代码的作用是给对应属性赋值,不是做等值判断,本质上这个断言永远会通过,完全起不到校验作用
    • Postman集成的Chai断言库要求必须调用对应的断言方法(比如.to.equal())才会执行校验,你现有写法没有调用任何断言方法,属于无效断言。
  • 逻辑不匹配需求:你要实现的是「从数组中筛选出id=1的对象,校验该对象的value为1000」,你的现有写法是尝试校验响应顶层存在id=1、value=1000的属性,和需求逻辑完全不符。

正确实现代码

你可以用数组的find方法先定位到id=1的对象,再做断言,示例代码如下:

pm.test("校验id=1对应的value值为1000", function () {
    const res = pm.response.json();
    // 定位id=1的对象
    const target = res.find(item => item.id === 1);
    // 先断言存在id=1的记录,避免后续取值报错
    pm.expect(target, "返回结果中不存在id=1的记录").to.be.an('object');
    // 校验value值
    pm.expect(target.value, "id=1的value值不符合预期").to.equal(1000);
});

内容的提问来源于stack exchange,提问作者James Wilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:27:03