Selenium: UnhandledAlertException was unhandled

本文关键字:unhandled was UnhandledAlertException Selenium | 更新日期: 2023-09-27 18:36:47

我一直在硒(C#)上运行自动化测试很长一段时间了,我最近使用Chrome Driver 2.4升级到2.37版本。此升级后,由于某种原因,每次打开的对话框导致测试失败时,都会处理异常,这会导致 Visual Studio 完全冻结,并且测试套件的其余部分不会执行。

除了尝试避免警报导致测试失败之外,是否有其他好方法可以防止这种情况发生?对此进行测试很好,所以我不想简单地回避这个问题。在测试失败后,我尝试切换到 DefaultContent,这就是抛出"UnhandledAlertException is unhandled"的地方:

Driver.SwitchTo().DefaultContent();

它位于 try-catch 块中,但由于某种奇怪的原因,此异常没有被捕获。

Selenium: UnhandledAlertException was unhandled

Driver.SwitchTo().DefaultContent();用于切换帧。引用自 API:

在以下情况下选择页面上的第一个框架或主文档 页面包含 iFrame。

您可能想在 WebDriver.dll 中尝试IAlert

例如

try {
   // doing your thing
} catch (UnhandledAlertException) {
    IAlert alert = driver.SwitchTo().Alert();
    Console.WriteLine(alert.Text);
    alert.Accept(); // or alert.Dismiss(); depends on your needs
}