Asp.net Selenium Firefox弹出窗口阻止程序导致测试用例执行失败

Asp.net Selenium Firefox弹出窗口阻止程序导致测试用例执行失败,asp.net,firefox,selenium,c#-4.0,tridion-2011,Asp.net,Firefox,Selenium,C# 4.0,Tridion 2011,我们正在使用selenium和firefox webdriver来自动化所有测试用例。我正在自动化SDL Tridion手动活动,如创建组件、创建页面、Tridion开箱即用搜索等……当我运行页面创建测试用例的测试用例时,Firefox的弹出窗口拦截器最终阻止了应该打开的窗口。这会导致测试用例失败,但对于其他测试用例,它工作正常(仅供参考:我正在本地运行它) 在此selenium项目的基础上,我们构建了一个asp.net web应用程序,该应用程序已在IIS中成功配置。当我通过点击服务器URL来

我们正在使用selenium和firefox webdriver来自动化所有测试用例。

我正在自动化SDL Tridion手动活动,如创建组件、创建页面、Tridion开箱即用搜索等……

当我运行页面创建测试用例的测试用例时,Firefox的弹出窗口拦截器最终阻止了应该打开的窗口。这会导致测试用例失败,但对于其他测试用例,它工作正常(仅供参考:我正在本地运行它)

在此selenium项目的基础上,我们构建了一个asp.net web应用程序,该应用程序已在IIS中成功配置。当我通过点击服务器URL来运行这个项目时,所有的测试用例都成功地执行了。(注意:没有Firefox弹出窗口阻止程序问题)
但是我们无法从本地执行selenium项目,因为Firefox驱动程序弹出窗口阻止程序问题。

我尝试了一些方法,但是没有成功,这些都是这里提到的
1。给定firefox设置中的站点URL(选项->内容->添加例外->站点URL)
2。在firefox配置文件中设置首选项,如下所示

[TestFixtureSetUp]
        public void Init()
        {
            try
            {
                //driver = new FirefoxDriver();
                //FirefoxBinary fb = new FirefoxBinary(@ConfigurationManager.AppSettings["FirefoxBinaryLocation"]);
                FirefoxBinary fb = new FirefoxBinary(@ConfigurationManager.AppSettings["FirefoxBinaryLocation"]);
                FirefoxProfile fp = new FirefoxProfile();
                fp.SetPreference("browser.startup.homepage_override.mstone", "ignore");

                driver = new FirefoxDriver(fb, fp);
            }
            catch (System.Exception ex)
            {
                logger.WriteError("Exception in instantiating Firefox driver : " + ex.Message);                
            }
        }
Firefox版本:-38.5.2 Webdriver版本:-2.48.0.0

非常感谢您的帮助…谢谢。。。

在Firefox中,通过键“dom.disable\u open\u during\u load”处理弹出窗口。您可以将此键值设置为false,这将允许弹出窗口。可以在所需的功能中设置此键值。


我为我的帖子找到了一个解决方案。实际上,我使用的是
元素。sendKeys(Enter)
,实际上,在firefox中单击按钮时,这是行不通的。因此,我将其更改为JavaScript Executor,添加了以下代码,它运行良好

IwebElement element = driver.findelement(By.Id("Id name goes here"))
IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;
executor.ExecuteScript("arguments[0].click();",element);
希望这对其他人有所帮助