c#Selenium WebDriver。 Firefox浏览器阻止弹出窗口

时间:2013-04-05 09:18:30

标签: c# firefox selenium-webdriver

我正在使用Firefox 19.0.2,Selenium 2.31.2.0

在设置方法中,我通过firefox配置文件启用弹出窗口阻止功能  firefoxProfile.SetPreference(“dom.disable_open_during_load”,true); 此选项是必需的,因为客户希望所有工作都启用弹出窗口阻止。

在测试中,我需要与外部社区共享内容。当我按下按钮时,会出现外部社区弹出窗口。 问题是当我用手执行此操作时,一切都很顺利,弹出窗口不会阻塞。当我尝试通过WebDriver Firefox块弹出时单击此按钮。

点击按钮:

//kind of mouse over emulation
    new Actions(Driver).MoveToElement(_element).Release(_element).Build().Perform();
    _element.Click();

我认为问题在于WebDriver执行的本机按钮点击和点击之间的差异。在firefox配置文件中设置EnableNativeEvents = true不是解决方案,因为测试变得非常不稳定。

也许有人面临这个问题并且可以提供解决方案。

1 个答案:

答案 0 :(得分:0)

行动由3个步骤组成。

配置操作

Actions builder = new Actions(driver); 
builder.MoveToElement(_element).Release().click();

获取行动

Action pushButton = builder.build();

执行

pushButton.perform();

告诉我你是否有所改善。

编辑:

.Release()用于拖放操作。

我找到了2个规格,herehere。好读。