【问题标题】:Postman test - error parsing JSON request with variablesPostman 测试 - 使用变量解析 JSON 请求时出错
【发布时间】:2021-01-04 02:21:13
【问题描述】:

我的请求正文如下所示

“pulic_token”变量已定义完毕。

我的预请求测试如下所示:

pm.test("Public token is correct", () => {
    const req = JSON.parse(request.data);
    pm.expect(req.public_token).to.be.a("string");
});

错误:

JSONError: Unexpected token 'p' at 4:21 "public_token": {{public_token}} ^

【问题讨论】:

    标签: postman postman-pre-request-script


    【解决方案1】:

    每个“字符串”都必须用双引号引起来

    【讨论】:

    • 为什么邮递员认为我的“public_token”是一个字符串?类型混淆是一个可能的错误,我正在尝试测试
    • 跟postman没关系,是JSON规范json.org/json-en.html只有数字、对象和数组可以不带引号
    【解决方案2】:

    错误来自

    JSON.parse(request.data)
    

    错误说:

    JSONError: Unexpected token 'p' at 4:21 "public_token": {{public_token}} ^
    

    这表明 public_token 变量没有被解析,如果它被解析,错误将类似于(假设变量的值为宠物)

    JSONError: Unexpected token 'p' at 4:21 "public_token": pet ^ 
    

    所以检查是否定义了正确的环境或变量

    输出:

    1. 未选择环境时

    2. 选择环境时

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      相关资源
      最近更新 更多