测试脚本报错ReferenceError: responceBody is not defined如何解决
报错原因
触发ReferenceError: responceBody is not defined引用错误的核心原因是变量名拼写错误:
- Postman及兼容其脚本规范的接口调试工具中,存放接口原始响应内容的内置全局变量固定为
responseBody,其中response是“响应”的标准英文拼写。 - 你的代码将该内置变量错写为
responceBody,把response中倒数第二个字母s错拼为c,运行环境检索不到对应名称的变量,直接抛出引用错误。 - 你自定义的解析结果接收变量也使用了错误拼写
responce,虽然当前前后命名一致不会触发报错,但不规范的拼写会提升后续维护的出错概率,建议同步修正。
修复方法
将内置变量名修正为正确拼写即可解决报错,兼容旧版脚本规范的修正代码如下:
var response = JSON.parse(responseBody); tests["scope"] = response.scope == "APP";
如果使用新版Postman环境,推荐使用官方最新的脚本API,兼容性和可读性更好:
const response = pm.response.json(); pm.test("scope", () => { pm.expect(response.scope).to.equal("APP"); });
内容的提问来源于stack exchange,提问作者Koti Gangaraju
相关产品推荐
相关产品推荐

