我正在使用 selenium 框架 2.33 对网页进行测试。这里的 TestCase 应该验证文件的下载。
以下代码确实适用于 Firefox 21 及更早版本。自从更新到 FF 22 后,它不再工作,我还没有找到原因。
我用它来保存 tar.gz 文件,但 txt 或 CSV 文件也失败了。
设置驱动程序:
FirefoxProfile profile = new FirefoxProfile();
profile.AcceptUntrustedCertificates = true;
profile.SetPreference("browser.download.dir", System.Environment.GetEnvironmentVariable("TEMP"));
profile.SetPreference("browser.download.folderList", 2);
profile.SetPreference("browser.download.manager.showWhenStarting", false);
profile.SetPreference("browser.helperApps.alwaysAsk.force", false);
profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/xml, text/csv, text/plain, text/log, application/zlib, application/x-gzip, application/x-compressed, application/x-gtar, multipart/x-gzip, application/tgz, application/gnutar, application/x-tar");
profile.SetPreference("pdfjs.disabled", true);
IWebDriver webDriver = new FirefoxDriver(profile);
测试:
webDriver.Navigate().GoToUrl("https://example.com/downloadthis.txt");
注意:在 firefox 22 中,“about:config”存在带有给定参数的“browser.helperApps.neverAsk.saveToDisk”行。但尽管如此,“保存文件”对话框会弹出,并且当它在保存位置检查预期文件时测试失败。
有没有人有想法或遇到过这个?
编辑:格式化