所以我一直在搜索SO(和其他各种网站)关于Protractor不支持控制和操纵"另存为"下载文件时的对话框。
我了解到我需要指定类似于下面代码段的下载首选项,指定" default_directory"作为绝对的道路。
chromeOptions: {
// Get rid of --ignore-certificate yellow warning
args: ['--no-sandbox', '--test-type=browser'],
// Set download path and avoid prompting for download even though
// this is already the default on Chrome but for completeness
prefs: {
download: {
prompt_for_download: false,
default_directory: '/e2e/downloads/',
},
},
},
但是,我有两个问题。首先,这在我的基于Linux的Protractor环境中工作正常。我可以指定/any/absolute/path/I/want
然后下载到该文件夹而不会出现问题,并且没有"另存为"对话框出现了。如果我在Windows Protractor环境中尝试此操作,请说'default_directory: 'c:\\some\\folder\\'
(该路径存在!)它不起作用 - 对话框出现,提示文件夹不在我的conf中指定.js文件。我尝试用单个(不好!)替换双反斜杠,甚至用正斜杠替换....没有任何有效的Windows路径的变体有效吗?我错了什么?
另外,有没有办法指定2组chromeOptions
- 并且量角器会根据主机操作系统自动使用相应的设置?即,所以我可以有2个default_directory值 - 一个Linux,一个Windows,而不必在运行时不断评论一个或另一个?