1

我正在使用 Selenium 和 JUnit 进行测试。我正在尝试导出报告(pdf 和 xls)。使用 Selenium,我单击下载链接,然后进行验证以断言文件位于正确的文件夹中。

我能够用 xls 进行测试,但 Firefox 总是询问我想用 PDF 做什么。

Firefox、Selenium 的配置是这样的:

String downloadPath = new File("src/test/resources/firefox_download").getAbsolutePath();
firefoxProfile.setPreference("browser.download.dir", downloadPath);
        firefoxProfile.setPreference("browser.download.lastDir", downloadPath);
        firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
        firefoxProfile.setPreference("plugin.disable_full_page_plugin_for_types", "application/pdf,application/vnd.fdf");

        firefoxProfile.setPreference("browser.download.folderList", 2);
        firefoxProfile.setPreference("browser.download.defaultFolder", downloadPath);
        firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf, application/vnd.fdf, application/x-msdos-program, application/x-unknown-application-octet-stream, application/vnd.ms-powerpoint, application/excel, application/vnd.ms-publisher, application/x-unknown-message-rfc822, application/vnd.ms-excel, application/msword, application/x-mspublisher, application/x-tar, application/zip, application/x-gzip,application/x-stuffit,application/vnd.ms-works, application/powerpoint, application/rtf, application/postscript, application/x-gtar, video/quicktime, video/x-msvideo, video/mpeg, audio/x-wav, audio/x-midi, audio/x-aiff"); // tipo específico
        firefoxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);

我可以手动更改,这里:

手册 1

或在这里:

手册 2

但我需要以编程方式执行此操作,否则测试将在其他地方失败(例如服务器/声纳)

PS:火狐19

4

1 回答 1

1

您可以尝试将 MIME 类型设置为application/octet-stream,如果浏览器不知道如何处理它,它会弹出一个save as对话框

于 2013-03-08T11:33:52.463 回答