我的API的响应标头为Keep-Alive
,其值为
Keep-Alive →timeout=15, max=100
我想声明值超时至少为10且最多为100.之前我使用的是Postman BDD库并且有这段代码
let keepAlive = response.getHeader("Keep-Alive");
// Make sure it contains "max=##"
let match = /max=(\d+)/.exec(keepAlive);
expect(match).to.be.an("array").and.not.empty;
// Make sure the max is between 98 and 100
let max = parseInt(match[1]);
expect(max).to.be.at.least(15).and.at.most(100);
但是,如果我使用Chakram
,则getHeader
功能会错误地显示TypeError: response.getHeader is not a function
。有没有人知道如何使用Chakram获取标题值。
答案 0 :(得分:1)
这是在Chakram中获取标头值的方法。例如验证响应是否为json格式。
expect(response).to.have.header('content-type', 'application/json; charset=utf-8'));
Chakram返回的回复是一个承诺,应该这样处理。因此,保持“活着”#39;标题值:
return chakram.get(serverUrl, params)
.then( chakramResponse => {
let keepAlive = chakramResponse.response.headers['Keep-Alive'];
let match = /max=(\d+)/.exec(keepAlive);
return expect(match).to.be.an("array").and.not.empty;
let max = parseInt(match[1]);
return expect(max).to.be.at.least(15).and.at.most(100);
});