我们使用来自动化我们所有的测试用例。
我是自动化的SDL Tridion手动活动,如创建一个组件,创建一个页面,Tridion -开箱搜索等.
当我为页面创建测试用例运行测试用例时,火狐的弹出拦截器最终阻塞了本应打开的窗口。这导致测试用例失败,,但对于其他测试用例,它运行良好(FYI:我正在本地运行它)
在这个selenium项目的顶部,我们构建了一个asp.net web应用程序,并且应用程序已经在IIS中成功地进行了配置。当我通过点击服务器URL运行这个项目时,所有的测试用例都被成功地执行了。(注意:没有Firefox弹出拦截器问题)
但是,由于firefox驱动程序弹出拦截器问题,我们无法从本地执行selenium项目。
我试过几件事,但都没有成功,这里提到了这些
1.给定设置中站点的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
任何帮助都是appreciated..Thanks.

发布于 2016-02-08 12:28:30
弹出窗口在Firefox中使用"dom.disable_open_during_load“键进行处理。可以将此键值设置为false,这将允许弹出窗口。这个键值可以用所需的功能来设置。
发布于 2016-02-09 12:07:43
我为我的职位找到了解决方案。实际上,我使用的是element.sendKeys(Enter),实际上,在firefox中单击一个按钮时,这是行不通的。所以我把它改为JavaScript执行器,我添加了下面的代码,它运行良好
IwebElement element = driver.findelement(By.Id("Id name goes here"))
IJavaScriptExecutor executor = (IJavaScriptExecutor)driver;
executor.ExecuteScript("arguments[0].click();",element);希望这能对其他人有所帮助。
https://stackoverflow.com/questions/35266830
复制相似问题