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

时间:2011-07-20 13:26:11

标签: selenium

我的网站上遇到了Selenium的问题。

方案: 1. Selenium登录网站 2.按下硒按钮 3.出现确认窗口(例如:http://i.piccy.info/i5/17/00/1760017/popup.jpg) 但在此之后,Selenium就挂了。 " Selenium遥控器"也挂了,我甚至无法激活它。在Selenium RC日志中,我得到了:"命令请求:点击[ChooseClient,on session ...]" 如果我手动选择弹出窗口中的任何选项,一切都继续正常工作。

正如我所见,点击问题。出于某种原因,弹出窗口后点击不会结束。

Selenium代码:

    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("警告 - 所做的任何更改都不会被保存。");

2 个答案:

答案 0 :(得分:1)

首先,您不应在Web环境中使用消息框(警报)。为什么不用模态弹出窗口(Html版本)替换它?如果你谷歌它你可以找到很多例子(也是Jquery有一个插件)

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

答案 1 :(得分:0)

我刚刚使用Selenium 2.41,FF 28来解决这个问题。

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

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

source