Asp.net Selenium Firefox弹出窗口阻止程序导致测试用例执行失败
我们正在使用selenium和firefox webdriver来自动化所有测试用例。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来
我正在自动化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);
希望这对其他人有所帮助