量角器-仅当使用--capabilities.chromeOptions.binary参数时,才通过npm run运行测试时出现“指定了多个配置”错误

问题描述

我在Windows 10计算机上-在本地和虚拟机上运行 package.json 中定义的量角器脚本时遇到问题。

我有具有标准内容 package.json protractor.conf.js

package.json 中的

量角器脚本如下:

"run-tests": "protractor protractor.conf.js --baseUrl=https://some-website --capabilities.chromeOptions.binary='C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'",

但是,当我使用npm run run-tests运行它时,会收到错误消息:

Error: more than one config file specified

删除-capabilities.chromeOptions.binary 参数可以解决此问题,但我的虚拟机上确实需要它。

类似地,当我直接在终端测试中直接执行完整命令时,运行顺利,即: protractor protractor.conf.js --baseUrl=https://some-website --capabilities.chromeOptions.binary='C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'

我注意到,当我使用 npm run 时,终端显示的路径中的反斜杠字符已经被转义: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

但是,即使反斜线也增加了四倍,例如: 'C:\\\\Program Files (x86)\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe' 不能解决问题。

您有什么想法吗?还是您可能知道在protractor.conf.js中将所述值传递给二进制参数的替代方法

编辑:以管理员模式运行终端也无济于事。

解决方法

好的,我在这里找到了解决方法:

Protractor option does not work in package.json script

基本上,您必须使用转义的双引号包围文件的路径。就像这样:

"{some other stuff} --capabilities.chromeOptions.binary=\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\""