邮递员测试与全局变量的比较

Postman Test with comparison to global variable

我想在 Postman 中协调两个请求。第一反应会给我一个变量。我把这个id保存到一个全局变量id。在 Postman 中,通常可以通过 {{id}}.

访问此变量

然后我用这个 ID 发送第二个请求(比如 GET foo.bar/{{id}})。现在我想检查 id 是否也在结果中。

这是我在测试代码中尝试的:

    var jsonData = pm.response.json();
    pm.expect(jsonData.id).to.eql({{id}});

其中 id 是来自第一个响应的变量(例如 72b302bf297a228a75730123efef7c41)。

第二个请求的响应看起来……像这样:

{
    "id": "72b302bf297a228a75730123efef7c41"
}

这里有一些例子也不起作用:

    var jsonData = pm.response.json();
    pm.expect(jsonData.id).to.eql("{{id}}");
    var jsonData = pm.response.json();
    var myId = {{id}};
    pm.expect(jsonData.id).to.eql(myId);

我的期望是,测试将是肯定的,请求中的`id 将在响应中找到。

你知道如何解决这个问题吗?

感谢您的帮助。

{{...}} 语法不能那样使用,在沙箱环境中,您需要这样访问它。

pm.expect(jsonData.id).to.eql(pm.globals.get('id'))

测试语法为:

pm.test("IDs equal?", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.id).to.eql(pm.globals.get('id'))
});