量角器 – 为黄瓜-html-reporter拍摄截图的功能生成“5000之后功能超时…”错误

我正在使用量角器 – 黄瓜 – 框架,我想为我写的测试生成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");
            });
            }
        });
    });
点赞