Selenium:-browser.helperApps.neverAsk.openFile和savetodisk不能正常工作

时间:2016-07-11 12:51:47

标签: java selenium selenium-webdriver

我在这里有一个关键问题。 请在下面找到我的方案:

  1. 登录
  2. 点击链接
  3. 单击
  4. 后,将打开一个新选项卡
  5. 我已使用以下代码将焦点切换到新打开的标签

    ArrayList<String> newTab = new ArrayList<String>(driver.getWindowHandles());
    driver.switchTo().window(newTab.get(1));
    

    问题在于,当我尝试点击新打开的标签上的excel下载链接时,&#34;打开&#34;弹出窗口出现,我的自动化失败。即使添加了以下首选项

    firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile",
    "text/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk",
    "text/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    

    请您能否尽快提出可行的解决方案?
    谢谢

1 个答案:

答案 0 :(得分:1)

请在您的firefox( about:config )部分手动设置这些首选项,访问该应用程序,单击该链接,查看该文件是否在没有任何提示的情况下下载。这将帮助您识别自动化问题。

我尝试在我的firefox中设置这些首选项,但它仍然会提示下载窗口。我可以在检查后立即下载没有提示&#34;从现在开始自动执行此类文件&#34;更新配置文件目录中的mimeTypes.rdf文件。因此,要通过自动化实现此功能,您可能需要将包含mimeTypes.rdf的自定义firefox配置文件与TestSuite捆绑在一起。

这是从给定的配置文件目录创建FirefoxProfile的代码:

FirefoxProfile profile = new FirefoxProfile(new File("<PATH_TO_FIREFOX_PROFILE_DIRECTORY_THAT_WORKS_WHEN_TESTED_MANUALLY>");
WebDriver driver = new FirefoxDriver(profile);