28

我正在尝试使用 Karma 来测试我的 js 脚本。在文档中它说我应该设置环境变量CHROME_BIN

我已将其设置为

%programfiles(x86)%"\Google\Chrome\Application\Chrome.exe

但是当我输入%CHROME_BIN%DOS 时,它会失败,因为它被截断C:\ProgramProgram Files.

我可以做些什么来解决这个问题?

4

8 回答 8

41

面临同样的问题,我通过编辑config目录下的karma.conf.jskarma-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"

附加:其他浏览器的设置可以在这里看到。

关于为什么 chrome one 不起作用,我猜他们(Karma)已经从一些早期版本的 chrome 配置了他们的 chrome 路径。


更新:对于AngularJS 教程追随者:

  • 在某些教程步骤上运行业力测试运行程序并解决此问题时,您仍然可能会遇到问题(正如我所面临的):只需在两个“ ...conf.js ”文件中添加这些“Angular Scenario Dependencies”,如下所示:
files = [
  ANGULAR_SCENARIO,
  ANGULAR_SCENARIO_ADAPTER,
    ....
    ....  // keep rest of the lines as it is
    ....
];
于 2013-06-21T12:49:23.703 回答
7

在 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"

这就是你需要做的一切。

于 2013-06-25T19:42:42.490 回答
5

我通过CHROME_BIN在我的环境属性中设置如下解决了同样的问题:

c:/Program Files (x86)/Google/Chrome/Application/chrome.exe

属性值周围不能有双引号 ("),所有反斜杠符号 (\) 必须替换为斜杠符号 (/)

于 2013-06-26T07:12:06.350 回答
3

对于 ubuntu 14.04 中的 Chromium 编辑 test/karma.conf.js 并更改

browsers = ['Chrome'];

为了

browsers = ['chromium-browser'];
于 2014-05-18T12:57:47.210 回答
1

我通过从管理员命令提示符运行解决了这个问题。无需设置 CHROME_BIN,它会自动指向您的默认安装。

于 2014-09-21T13:23:39.057 回答
1

我发现安装 Canary 并更改browsers = ['Chrome'];browsers = ['ChromeCanary'];更好。

于 2013-10-02T02:13:16.357 回答
0

使用set(参见http://ss64.com/nt/set.html)并在整个字符串周围放置引号

"%programfiles(x86)%\Google\Chrome\Application\Chrome.exe"

于 2013-04-15T14:41:42.067 回答
0

(在 Linux 中)我认为它与 CHROME_BIN 有关,但最终对我来说它与该变量无关,我将其删除。我不得不在 github 上查找 karma-chrome-launcher npm 插件,并按照说明为我的 karma 配置添加不安全性。

于 2015-06-17T16:28:53.283 回答