是否可以在邮递员测试用例中访问响应大小的值?
虽然我能够看到响应大小以及状态代码和响应时间(我可以在我的测试用例中使用responseCode.code和responseTime),但我无法在测试中使用它。 [我试过像responseSize这样的变量等等没有成功]
答案 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);
});