javascript - 如何通过 Protractor 处理Firefox中的下载文件保存对话框

标签 javascript node.js firefox cross-browser automated-tests

我在运行 Protractor 测试时遇到问题。测试必须下载一个在 Firefox 中面临弹出窗口的文件,如下所示:

enter image description here

有人可以帮助我如何在 Firefox 上避免这种情况吗?

我使用的 Protractor :5.4.1,NodeJS:8.11.2

我的conf.js功能: 能力:{ '浏览器名称': '火狐', “木偶”:是的, 'shardTestFiles':true, '最大实例数': 1, "browser.helperApps.neverAsk.saveToDisk": "应用程序/zip" },

注意:Chrome 没有此功能,因此它可以正常工作。

问候, 纳雷什·苏里亚

最佳答案

你可以试试这个:

export let config: Config = {
seleniumAddress: '...',
capabilities: {
        'browserName': 'firefox',
        'moz:firefoxOptions': {
            prefs: {
                'browser.download.folderList' : 2,
                'browser.download.dir' : downloadsPath,
                'services.sync.prefs.sync.browser.download.useDownloadDir' : true,
                'browser.download.useDownloadDir' : true,
                'browser.download.manager.closeWhenDone':true,
                'browser.download.manager.showWhenStarting': false, 
                'browser.helperApps.alwaysAsk.force':false,
                'browser.download.manager.showAlertOnComplete':false,
                'browser.download.manager.useWindow':false,
                'browser.helperApps.neverAsk.saveToDisk': 'application/pdf,application/csv,text/plain,application/vnd.csv',
                'pdfjs.disabled': true
            },
        }
...

将变量的 downloadsPath 指定为您希望其保存的路径。

如果它不适合您,您可以随时尝试许多其他类型,例如:

application/xml,text/plain,text/comma-separat‌​ed-values,application/excel,application/octet-stream,application/xlsx,application/xls,aplication/vnd.ms-excel,application/vnd.ms-excel.addin.macroenabled.12,application/vnd.ms-excel.sheet.binary.macroenabled.12,application/vnd.ms-excel.template.macroenabled.12,application/vnd.ms-excel.sheet.macroenabled.12,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/xml,application/csv,application/pdf,application/octet-stream,application/x-winzip,,application/x-gzip

如果您有办法阻止 Firefox 打开 .xml 或 csv 文件,请告诉我。到目前为止,我的只适用于pdf。

这里有更多信息: http://kb.mozillazine.org/Firefox_:FAQs:_About:config_Entries

关于javascript - 如何通过 Protractor 处理Firefox中的下载文件保存对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393269/

相关文章:

javascript - Jade /Expressjs : Pass objects from server to client

javascript - 调试 Node.js 应用程序时,WebStorm 在错误的文件上停止

javascript - .png 或 .jpg 图像在屏幕上移动,spritesheet,css 关键帧,停止并重复循环

javascript - 包含垂直可滚动 div 的水平可滚动 div 在 iOS 上不会水平滚动

node.js - 部署到 dotcloud 的 Webservice/worker 服务

java - 在 Java 1.7.0_04-b20 中从 Applet 重定向期间 window.opener 引用发生更改,但在 1.7.0_03-b05 中则没有更改

firefox - 如何从 Firefox 插件读取配置文件首选项?

google-chrome - -webkit-scrollbar 在 Firefox 上不工作

javascript - 类型错误 : object is not a function - what am I doing wrong?

javascript - jQuery:选择具有给定类的所有元素,返回它们的乘积(乘法结果)?