我正在使用 protractor-cucumber-framework,我想为我编写的测试生成 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 步骤时我也收到一条错误消息(因此当出现一些失败时):
函数在 5000 毫秒后超时
我想删除此消息,因为它也出现在我的 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");
});
}
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)