我正在使用Selenium和Firefox进行自动化测试,我需要自动下载文件。以下是我用来设置代码的两个链接。
Set Firefox profile to download files automatically using Selenium and Java
总结文章,代码应如下所示:
FirefoxOptions options = new FirefoxOptions();
options.setPreference("browser.download.folderList", 2);
options.setPreference("browser.download.dir", "C:\\Windows\\temp");
options.setPreference("browser.download.useDownloadDir", true);
options.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
options.setPreference("pdfjs.disabled", true); // disable the built-in PDF viewer
WebDriver driver = new FirefoxDriver(options);
当我运行测试时,自动下载失败。我检查了about:config,设置已按照代码的意图进行了更改。 (about:config screenshot)
此外,在该驱动程序实例中,如果我更改任何设置然后重新应用相同的设置,则自动下载有效。是否存在我缺少的webdriver的设置或步骤,然后应用新设置?
以下是我测试过的Selenium,Firefox和GeckoDriver版本:
Selenium:v3.12.0
Firefox:59.0.3,60.0.1
GeckoDriver:v0.19.0-win64,v0.20.0-win64,v0.21.0-win64