C# Selenium:未处理的AlertException未处理

C# Selenium:未处理的AlertException未处理,c#,selenium,unhandled-exception,C#,Selenium,Unhandled Exception,我在selenium(C#)上运行自动化测试已经有一段时间了,最近我用Chrome驱动程序2.4升级到了2.37版。在此升级之后,由于某些原因,每次打开的对话框导致测试失败时,异常都未处理,这会导致Visual Studio完全冻结,测试套件的其余部分不会执行 除了试图避免警报导致测试失败之外,还有什么好方法可以防止这种情况发生?这是很好的测试,所以我不想简单地回避这个问题。测试失败后,我尝试切换到DefaultContent,这就是引发“UnhandledAlertException was

我在selenium(C#)上运行自动化测试已经有一段时间了,最近我用Chrome驱动程序2.4升级到了2.37版。在此升级之后,由于某些原因,每次打开的对话框导致测试失败时,异常都未处理,这会导致Visual Studio完全冻结,测试套件的其余部分不会执行

除了试图避免警报导致测试失败之外,还有什么好方法可以防止这种情况发生?这是很好的测试,所以我不想简单地回避这个问题。测试失败后,我尝试切换到DefaultContent,这就是引发“UnhandledAlertException was unhandled”的具体原因:

Driver.SwitchTo().DefaultContent();
它位于try-catch块中,但由于某些奇怪的原因,此异常不会被捕获。

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
}