我正在尝试使用Karma来测试我的js脚本。在文档中它说我应该为CHROME_BIN
设置环境变量:
我把它设置为
%PROGRAMFILES(86)%“\谷歌\镀铬\应用\的chrome.exe
但是当我在DOS中键入%CHROME_BIN%
时,它失败了,因为它被截断到C:\Program
空间的Program Files
。
我该怎么做才能解决这个问题?
面对同样的问题,我通过编辑config目录下的karma.conf.js和karma-e2e.conf.js文件解决了这个问题。
更改:
browsers = ['Chrome'];
至
browsers = ['Your_System_Path_where_chrome_installed/chrome.exe'];
在我的情况下,它是> C:/Program Files (x86)/Google/Chrome/Application/chrome.exe
然后将C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
路径添加到环境变量中
或者在cmd中
SET CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
附加:可以看到其他浏览器的设置here。
关于为什么chrome one不工作我想他们(Karma)已经从一些早期版本的chrome配置了他们的chrome路径。
更新:对于AngularJS tutorial粉丝:
files = [ ANGULAR_SCENARIO, ANGULAR_SCENARIO_ADAPTER, .... .... // keep rest of the lines as it is .... ];
在Powershell中,您可以运行以下命令:
$Env:CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
您需要使用本地路径替换双引号内的内容。
或者在cmd.exe中
SET CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
这就是你需要的全部。
我通过在我的环境属性中设置CHROME_BIN
解决了同样的问题,如下所示:
c:/Program Files (x86)/Google/Chrome/Application/chrome.exe
属性值周围不得有双引号(“),所有反斜杠符号(\)必须用斜杠符号(/)替换
对于ubuntu 14.04中的Chromium编辑test / karma.conf.js并进行更改
browsers = ['Chrome'];
对于
browsers = ['chromium-browser'];
我发现安装Canary并将browsers = ['Chrome'];
更改为browsers = ['ChromeCanary'];
更好。
我通过从管理员命令提示符运行解决了该问题。无需设置CHROME_BIN,它将自动指向您的默认安装。
使用set
(请参阅http://ss64.com/nt/set.html)并将引号放在整个字符串周围
为 “%ProgramFiles(x86)的%\谷歌\镀铬\应用\的chrome.exe”
(在Linux中)我认为它与CHROME_BIN有关但最终对我来说它与该变量无关并且我将其删除了。我不得不在github上查找karma-chrome-launcher npm插件并按照说明为我的karma配置添加无安全性。