我刚开始使用Cucumber + Serenity。
我想忽略UnhandledAlertException。
这就是如何在Selenium中设置Chrome功能
capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
但是我不确定serenity.properties文件中应使用什么来忽略未处理的警报。
chrome.capabilities.unexpectedAlertBehaviour = ignore
这是正确的吗?问题是我无法测试此行为,因为在所有运行中都不会发生意外的警报异常。
因此,只有测试失败(我无法重播),我才会获得上述属性是否正常工作的反馈
至少下面的代码现在对我不起作用,所以我决定将全局设置与以下方法一起使用:
private void dismissAlertIfPresentAtStartOfScenario()
{
try
{
Alert alert = REAL_DRIVER.switchTo().alert();
String text = alert.getText();
alert.dismiss();
LOGGER.warn("Dismissed alert [{}] at start of this scenario!", text);
}
catch (NoAlertPresentException e)
{
// ignore the exception and do nothing, no alert is expected at the start of the scenario
}
}
答案 0 :(得分:0)
对于Chrome,答案是:
chrome.capabilities.handlesAlerts = true
此sis等效于代码:
cap.setCapability(CapabilityType.SUPPORTS_ALERTS, true);
来源:https://johnfergusonsmart.com/configuring-chromedriver-easily-with-serenity-bdd/
我正在寻找与Firefox相当的产品,但到目前为止我什么都没发现。