【发布时间】:2018-01-26 07:36:43
【问题描述】:
是否可以在我的邮递员测试用例中访问响应大小的值?
虽然我能够在状态代码和响应时间旁边看到响应大小(我可以在我的测试用例中使用 responseCode.code 和 responseTime),但我无法在我的测试中使用它。 [我尝试了 responseSize 等变量,但没有成功]
【问题讨论】:
标签: postman
是否可以在我的邮递员测试用例中访问响应大小的值?
虽然我能够在状态代码和响应时间旁边看到响应大小(我可以在我的测试用例中使用 responseCode.code 和 responseTime),但我无法在我的测试中使用它。 [我尝试了 responseSize 等变量,但没有成功]
【问题讨论】:
标签: postman
为 Sbaddam 的出色回答添加一个示例:
pm.test("response size", function () {
pm.expect(pm.response.responseSize).to.be.equal(1252184);
});
【讨论】:
pm.response.responseSize 会给你正文的响应大小。
【讨论】:
有一种可能性,虽然不是那么简单:
您在 Postman 中获得的尺寸由 Body size 和 Headers 尺寸组成(只需指向 Size 的值)。 在您的测试区域,您可以通过以下方式恢复体型: `
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);
`
希望对你有帮助
亚历山大
【讨论】: