Postman编辑任务断言失败:boardId与响应board_id值不匹配
Postman接口测试断言失败排查建议
问题场景
创建任务时接口返回board_id=10140,已将该值存入环境变量boardId;但编辑任务时接口返回board_id=10093,导致断言校验环境变量与返回值相等时失败。
测试代码:
let jsonData = pm.response.json(); pm.test("Gallery has correct id", function(){ pm.expect(pm.environment.get("boardId")).to.equals(jsonData.board_id) })
测试结果:
Fail: Gallery has correct id | AssertionError: expected 10140 to equal 10093
排查方向
检查编辑任务的请求参数
确认编辑任务接口的请求中,携带的boardId或关联任务的board参数是否为10140。有可能请求时误传入了其他board的ID,导致后端返回对应board_id=10093。对比创建任务与编辑任务的请求参数,确保board相关参数一致。验证环境变量的正确性
- 检查创建任务后的测试脚本,确认是否正确将返回的
board_id存入环境变量,比如是否执行了pm.environment.set("boardId", jsonData.board_id),有没有存错字段。 - 编辑任务执行前,手动查看Postman环境变量列表,确认
boardId的值确实是10140,避免中间有其他请求修改了该变量。
- 检查创建任务后的测试脚本,确认是否正确将返回的
排查后端接口逻辑
直接调用编辑任务接口(跳过断言),确认返回的board_id是否符合预期。有可能后端在编辑任务时存在业务逻辑,比如自动将任务转移到其他board,或者接口返回字段存在错误。校验数据类型一致性
环境变量中的boardId可能是字符串类型,而接口返回的board_id是数字类型,导致equals校验失败。可以修改断言代码,统一类型后再比较:let jsonData = pm.response.json(); pm.test("Gallery has correct id", function(){ const envBoardId = Number(pm.environment.get("boardId")); pm.expect(envBoardId).to.equals(jsonData.board_id); })或者使用
eql代替equals,它会同时比较值与类型:pm.expect(pm.environment.get("boardId")).to.eql(jsonData.board_id)
内容的提问来源于stack exchange,提问作者Luka Persaj
相关产品推荐
相关产品推荐

