【发布时间】:2020-08-10 22:01:23
【问题描述】:
我一直在尝试更新我的 conf.js 文件以下载文件,它应该适用于 firefox 和 chrome(彼此独立)。
我一直在线关注指南和答案(包括但不限于 stackoverflow),但它并不完全适合我。 Chrome 没问题,firefox 是我的麻烦。
在 Firefox 上,它根本不下载文件,这与下载文件的 chrome 不同。
更新:我无法禁用 Firefox 的弹出窗口
来自 conf.js 的相关信息
exports.config = {
[...]
multiCapabilities: [
{
browserName: 'chrome',
'goog:chromeOptions': {
w3c: false, // problems with latest chrome driver... browser.actions is causing issues: https://github.com/jan-molak/serenity-js/issues/329
prefs: {
download: {
prompt_for_download: false,
directory_upgrade: true,
default_directory: downloadsPath,
},
},
},
} ,
{
browserName: 'firefox',
'goog:chromeOptions': {
marionette: true,
'moz:firefoxOptions': {
prefs: {
'pdfjs.disabled': true,
'browser.download.folderList': 2,
'browser.download.dir': downloadsPath,
'browser.download.panel.shown': false,
'browser.download.useDownloadDir': true,
'browser.download.manager.useWindow': false,
'browser.helperApps.alwaysAsk.force': false,
'browser.helperApps.neverAsk.openFile': true,
'browser.download.manager.closeWhenDone': false,
'browser.download.manager.alertOnEXEOpen': false,
'browser.download.manager.showWhenStarting': false,
'browser.download.manager.focusWhenStarting': false,
'browser.download.manager.showAlertOnComplete': false,
'browser.helperApps.neverAsk.saveToDisk': 'application/vnd.openxmlformats',
},
},
},
},
],
[...]
};
我的 dowload-e2e.js 规范中的相关代码:
const downloadBtn = manipulations.getDomObject('download-contract-button', 'id');
browser.executeScript('arguments[0].click();', downloadBtn.getWebElement());
try {
await downloads.verifyFileExists(`file-name.docx`);
await downloads.verifyFileSize(`file-name.docx`, 0);
} catch (err) {
throw new Error(`ERROR: ${err.message}`);
}
downloads.removeFile(`file-name.docx`);
【问题讨论】:
标签: javascript selenium selenium-webdriver firefox protractor