如何在PostMan中访问Request对象

问题描述 投票:0回答:6

如标题,如何在 PostMan 中访问 Request 对象? 是否可以创建这样的测试用例

tests["Response content restaurant Id : ", req.body.restaurantId] = responseBody.has(req.body.restaurantId);
javascript request postman
6个回答
61
投票

Postman Sandbox

进行一些研究后

我终于找到了自己的答案。

var reqBody = JSON.parse(request.data);
var resBody = JSON.parse(responseBody)
tests["Data"] = reqBody.restaurantId === resBody.restaurantId;

23
投票

如果您从测试脚本执行此操作,则语法如下:

pm.test("Update env", function () {
    var req = JSON.parse(pm.request.body.raw);
    pm.environment.set("restaurantId", req.restaurantId);

    var resp = pm.response.json();
    pm.environment.set("restaurantId", resp.restaurantId);
});

5
投票
//this works for form-data:
var reqBody = request.data;
//this works for raw:
var reqBody = JSON.parse(request.data);

1
投票

对于 application/json 请求正文,您将使用 Trung 提供的答案。但是,对于表单数据,您只需使用 request.data 访问正文,然后就可以直接获取变量,例如 request.data.email 或 request.data.password


0
投票

这似乎适用于最新的 Postman 版本(感谢 tom redfern 评论)->

JSON.parse(pm.request.body.raw); 

0
投票

因为我使用身体作为模板,所以直接在

JSON.parse
上使用
pm.request.body.raw
,对我来说不起作用。

使用

pm.variables.replaceIn()
来解决
pm.request.body.raw
做到了。

const body = JSON.parse( pm.variables.replaceIn(pm.request.body.raw))
© www.soinside.com 2019 - 2024. All rights reserved.