如标题,如何在 PostMan 中访问 Request 对象? 是否可以创建这样的测试用例
tests["Response content restaurant Id : ", req.body.restaurantId] = responseBody.has(req.body.restaurantId);
我终于找到了自己的答案。
var reqBody = JSON.parse(request.data);
var resBody = JSON.parse(responseBody)
tests["Data"] = reqBody.restaurantId === resBody.restaurantId;
如果您从测试脚本执行此操作,则语法如下:
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);
});
//this works for form-data:
var reqBody = request.data;
//this works for raw:
var reqBody = JSON.parse(request.data);
对于 application/json 请求正文,您将使用 Trung 提供的答案。但是,对于表单数据,您只需使用 request.data 访问正文,然后就可以直接获取变量,例如 request.data.email 或 request.data.password
这似乎适用于最新的 Postman 版本(感谢 tom redfern 评论)->
JSON.parse(pm.request.body.raw);
因为我使用身体作为模板,所以直接在
JSON.parse
上使用 pm.request.body.raw
,对我来说不起作用。
使用
pm.variables.replaceIn()
来解决 pm.request.body.raw
做到了。
const body = JSON.parse( pm.variables.replaceIn(pm.request.body.raw))