Cucumber + Serenity を使い始めたばかりです。
UnhandledAlertException を無視したいと思います。
これは、Seleniumでクロム機能を設定する方法です
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
}
}