cucumber-js中是否有超时事件
Is there a timeout event in cucumber-js
我正在使用 cucumber-js 运行 测试 selenium-webdriver。
我想在任何步骤超时时添加浏览器的屏幕截图。
我在所有步骤中使用全局超时:
this.setDefaultTimeout(3 * 60 * 1000);
在我的挂钩文件中。
如何注册全局超时事件(如果存在)?
Selenium Webdriver js提供了截屏功能,你只需要在After
中使用它,类似于TestNG
中的@AfterClass
标签
After
场景会在Feature中的每个场景之后执行,并检查场景的结果,如果失败会截图。
失败的原因可以是任何东西,比如错误,或者 DEFAULT_TIMEOUT
您需要将此添加到 world.js
this.After(function (scenario) {
if (scenario.isFailed()) {
// take a screenshot
// driver.takeScreenshot() is defined in webDriver.js
return driver.takeScreenshot()
.then(function (screenShot) {
scenario.attach(new Buffer(screenShot, 'base64'), 'image/png');
return driver.close()
.then(function () {
return driver.quit();
});
});
}
else {
return driver.close()
.then(function () {
return driver.quit();
});
}
});
我正在使用 cucumber-js 运行 测试 selenium-webdriver。 我想在任何步骤超时时添加浏览器的屏幕截图。 我在所有步骤中使用全局超时:
this.setDefaultTimeout(3 * 60 * 1000);
在我的挂钩文件中。
如何注册全局超时事件(如果存在)?
Selenium Webdriver js提供了截屏功能,你只需要在After
中使用它,类似于TestNG
@AfterClass
标签
After
场景会在Feature中的每个场景之后执行,并检查场景的结果,如果失败会截图。
失败的原因可以是任何东西,比如错误,或者 DEFAULT_TIMEOUT
您需要将此添加到 world.js
this.After(function (scenario) {
if (scenario.isFailed()) {
// take a screenshot
// driver.takeScreenshot() is defined in webDriver.js
return driver.takeScreenshot()
.then(function (screenShot) {
scenario.attach(new Buffer(screenShot, 'base64'), 'image/png');
return driver.close()
.then(function () {
return driver.quit();
});
});
}
else {
return driver.close()
.then(function () {
return driver.quit();
});
}
});