我正在使用量角器 – 黄瓜 – 框架,我想为我写的测试生成html报告.我决定使用cucumber-html-reporter实现它.在我的hooks.js中我写了一个this.After对象截取测试失败的截图:
this.After(function(scenario, callback) {
if (scenario.isFailed()) {
browser.takeScreenshot().then(function(buffer) {
return scenario.attach(new Buffer(buffer, 'base64'), function(err) {
callback(err);
});
});
}
else {
callback();
}
});
一切正常,生成报告并截取屏幕截图并仅在测试失败时附加.但是当After步骤进行时,我也收到了一条错误消息(所以当出现故障时):
function timed out after 5000 milliseconds
我想摆脱这条消息,因为它也出现在我的HTML报告中.任何人都可以为我提供解决方案吗?
最佳答案 下面的代码对我有用.我在步骤定义js文件中添加了这个.在报告的场景结束时,它添加了屏幕截图.
defineSupportCode(({After}) => {
After(function(scenario) {
if (scenario.isFailed()) {
var attach = this.attach;
return browser.takeScreenshot().then(function(png) {
var decodedImage = new Buffer(png, "base64");
return attach(decodedImage, "image/png");
});
}
});
});