在Firefox中自动下载pdf文件
我正在用Selenium和JUnit进行测试。 我正在尝试导出报告(pdf和xls)。 使用Selenium,我单击下载链接,并执行verifcar断言文件位于正确的文件夹中。
我能够使用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);
我可以手动更改,在这里:
或者在这里:
但我需要以编程方式执行此操作,否则测试将在其他地方失败(例如服务器/声纳)
PS。:Firefox 19
您可以尝试将MIME类型设置为application/octet-stream
这样如果浏览器不知道如何处理它,它将弹出一个save as
对话框
- 如何在多个浏览器中运行Selenium测试,以便使用Java进行跨浏览器测试?
- 45000 ms后无法在端口7055上连接到主机127.0.0.1。 用FF版26.0和selenium独立jar2.39
- 使用Selenium WebDriver未检测到Firefox警报框
- 使用selenium的java出错:预期
- Selenium Webdriver:在firefox中抑制不受信任的连接消息
- geb.driver.DriverCreationException:无法从回调创建驱动程序
- 使用java中的selenium webdriver登录Gmail
- 使用Selenium在FireFox中设置首选项时出现mime类型问题
- Selenium:如何在不调用driver.quit()的情况下停止影响PC内存的geckodriver进程?