问题描述
我在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\""