Selenium仅在弹出消息出现后挂起,直到弹出窗口未关闭

Selenium仅在弹出消息出现后挂起,直到弹出窗口未关闭,selenium,Selenium,我在我的网站上发现了硒的问题 情景: 1.Selenium登录到站点 2.硒按下按钮 3.出现确认窗口(示例:) 4.但在这之后,Selenium就挂起了。“Selenium遥控器”也挂起,我甚至无法激活它。在Selenium RC日志中,我看到:“命令请求:单击[ChooseClient,on session…]” 如果我在弹出窗口中手动选择任何选项,一切都会继续正常工作 如我所见,单击中存在问题。由于某些原因,在弹出窗口出现后单击“不结束” 硒代码: selenium.click("

我在我的网站上发现了硒的问题

情景: 1.Selenium登录到站点 2.硒按下按钮 3.出现确认窗口(示例:) 4.但在这之后,Selenium就挂起了。“Selenium遥控器”也挂起,我甚至无法激活它。在Selenium RC日志中,我看到:“命令请求:单击[ChooseClient,on session…]” 如果我在弹出窗口中手动选择任何选项,一切都会继续正常工作

如我所见,单击中存在问题。由于某些原因,在弹出窗口出现后单击“不结束”

硒代码:

    selenium.click("link=Home");
    selenium.waitForPageToLoad("30000");
    selenium.click("btnCReportAdd");
    selenium.waitForPageToLoad("30000");
    selenium.chooseOkOnNextConfirmation();
    selenium.click("chooseClient");
    assertEquals( selenium.getConfirmation(), "WARNING - any changes made will not be saved." );        

    selenium.isConfirmationPresent());      
    selenium.waitForPopUp("popup", "30000");
这是按钮代码:


GB.common.navigationwarning.init(“警告-所做的任何更改都不会被保存”) 首先,您不应该在Web环境中使用消息框(警报)。为什么不用模式弹出窗口(Html版本)替换它呢?如果你在谷歌上搜索它,你可以找到很多例子(Jquery也为此提供了一个插件)


Selenium和任何web驱动程序都可以很好地与模式弹出窗口交互(您可以使用CSS或class属性来了解弹出窗口是否可见),但它们无法与警报消息框交互

我自己使用Selenium 2.41,FF 28时遇到了这个问题

在单击元素以打开弹出窗口之前添加此行为我修复了它:

        ((JavascriptExecutor)driver).executeScript("window.showModalDialog = function( sURL,vArguments, sFeatures) { window.open(sURL, 'modal', sFeatures); }");