2

我想在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 将在响应中找到。

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

谢谢您的帮助。

4

1 回答 1

1

{{...}}不能这样使用语法,在沙盒环境中,您需要以这种方式访问​​它。

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'))
});
于 2020-01-30T07:46:53.600 回答