【问题标题】:How to append data in JSON Query?如何在 JSON Query 中追加数据?
【发布时间】:2018-07-28 18:34:06
【问题描述】:

我是使用 postman 作为测试 web rest API 的新手。你能帮我解决这个简单的错误吗?错误说:评估测试脚本时出错:ReferenceError: jsonData is not defined。

提前致谢!

pm.test("User ID is 1 -> " +jsonData[0].userId, function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].userId).to.eql(1);
});

【问题讨论】:

  • 您在声明变量之前使用它 - 尝试从名称中取出 jsonData 部分并尝试它。如果将 var 行移到函数上方,它应该可以工作。
  • 哇!有用!谢谢@DannyDainton :)

标签: api postman web-api-testing


【解决方案1】:

您使用的是独立版本的邮递员,还是 chrome 扩展程序?如果你使用的是chrome扩展,你会发现pm是未定义的,as stated here

虽然可能没有完全考虑到,但如果您正在使用 chrome 扩展,您可以通过“测试”选项卡以稍微不同的方式定义“测试逻辑”:

“测试”选项卡允许您编写测试,这些测试会在您单击“发送”后返回的响应数据中自动运行。

这基本上可以让你在 Postmans 自己的测试上下文中编写和执行 javascript,允许你定义一些相当复杂的测试逻辑来验证你的响应数据是否返回了预期的结果:

var contentTypeHeaderExists = responseHeaders.hasOwnProperty("Content-Type");

tests["Has Content-Type"] = contentTypeHeaderExists;

if (contentTypeHeaderExists) {
    tests["Content-Type is application/json"] = 
      responseHeaders["Content-Type"].has("application/json");
}

有关使用“测试”选项卡的更多信息,请参阅 this blog post - 希望这对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多