警报处理 - Selenium WebDriver/Selenium RC 2.18.0 - 异常

Posted

技术标签:

【中文标题】警报处理 - Selenium WebDriver/Selenium RC 2.18.0 - 异常【英文标题】:Alert Handling - Selenium WebDriver/ Selenium RC 2.18.0 - Exception 【发布时间】:2012-01-31 18:29:07 【问题描述】:

我的 Web 应用程序自动化测试软件在 IE、Firefox、Chrome 和 Safari 上运行,并使用 C# 和 Selenium WebDriver(IE、Firefox、Chrome)、Selenium RC (Safari) 编写。

我今天升级到 2.18.0 版本时出现了一个新错误。我看到以下异常:

System.InvalidOperationException:存在模态对话框(UnexpectedAlertOpen)

到目前为止,我看到 IE、Firefox 和 Safari 引发了这个异常。

我查看了发布文档,没有发现任何建议我应该采取不同的方式来接受或取消警报。

这是一个错误,还是有与警报相关的新程序要遵循?

【问题讨论】:

好的,我找到了问题。我正在阅读当前窗口句柄“String currentWindowHandle = m_WebDriver.CurrentWindowHandle;”首先,在“IAlert alert = m_WebDriver.SwitchTo().Alert();”行之前我删除了第一行(因为它是非常不必要的)并且问题消失了。正如异常消息所暗示的那样,在打开警报时正在执行另一个操作(在这种情况下,是读取窗口句柄的操作)。这可能是在 2.18.0 中完成的 Selenium WebDriver/RC 清理。 @UshaPugalia 从您的评论中做出回答。 【参考方案1】:

自上次更新以来,我使用 Firefox 在我的 ccnet 构建服务器上遇到了同样的问题,我发现由于安全问题我需要更新我的 java 版本。

更新后,我的所有测试都成功了,我再也没有这个错误“System.InvalidOperationException: Modal dialog present (UnexpectedAlertOpen)”。

【讨论】:

以上是关于警报处理 - Selenium WebDriver/Selenium RC 2.18.0 - 异常的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 java 在 firefox 上的 selenium webdriver 中处理警报

如何处理 selenium webdriver 自动化的背靠背警报

Webdriver/Selenium 警报窗口问题

Selenium WebDriver:关闭连续弹出/警报

如何使用 Selenium WebDriver 处理登录弹出窗口?

如何在 Ruby 中使用 Selenium webdriver 截取警报的屏幕截图?