邮递员测试中的访问响应大小

时间:2017-08-17 18:36:04

标签: postman

是否可以在邮递员测试用例中访问响应大小的值?

虽然我能够看到响应大小以及状态代码和响应时间(我可以在我的测试用例中使用responseCode.code和responseTime),但我无法在测试中使用它。 [我试过像responseSize这样的变量等等没有成功]

3 个答案:

答案 0 :(得分:3)

虽然不是那么简单但有可能:

你在Postman中获得的大小是由Body Size和Headers size组成的(仅指向Size' s值)。 在您的测试区域中,您可以恢复身体大小: `

var size=0;
for (var count in responseBody) {
    if(responseBody.hasOwnProperty(count))
        size += 1;
}
console.log("BODY SIZE = " + size); // you'll see the correct value in the console for the body part

`

对于标题我没有设法接近邮递员看到的价值。 在我的情况下,我总是有相同的响应标题(我将它们全部设置在headers_id中)并从这些我做: `

headers_id=["content-encoding","content-type","date","set-cookie","transfer-encoding","x-mbs-platform-state","x-representation-exclude"];
header_size = 0;
for (var i in headers_id)
{
    myHeader=postman.getResponseHeader(headers_id[i]);
    console.log("header " + myHeader);
    console.log("- size " + myHeader.length);
    console.log("- name's size " + headers_id[i].length);
    header_size += myHeader.length; //+ headers_id[i].length; // uncomment this part if you want header content's size + header name's size
}
console.log("TOTAL HEADER SIZE = " + header_size); 

`

希望这有帮助

亚历山大

答案 1 :(得分:3)

pm.response.responseSize将为您提供身体的反应大小。

答案 2 :(得分:0)

为 Sbaddam 的优秀答案添加一个例子:

pm.test("response size", function () {
    pm.expect(pm.response.responseSize).to.be.equal(1252184);
});