警报处理 - 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 自动化的背靠背警报