4

当我在“浏览器”设置为“Firefox”的情况下运行 testacular 时,会打开一个新的 Firefox 浏览器。我可以在那里打开控制台并查看我的“console.log”消息等...

当我在“浏览器”设置为“Chrome”或“ChromeCanary”的情况下运行 testacular 时,没有打开新的浏览器。测试运行正常,但我看不到控制台(因为我没有浏览器)。

我在 Windows 设置中设置了 CHROME_PATH(也设置了 CHROME_CANARY_PATH),我没有收到有关浏览器启动的错误消息,正如我所说,我的测试工作正常。

任何想法为什么我的浏览器无法打开?

Vojta 回答:Chrome 窗口存在一个错误:http ://code.google.com/p/chromium/issues/detail?id=151836 Chrome 正在运行,但它不显示 UI。

4

1 回答 1

3

可能是 Vojta 指出的上述修复(将窗口设置为最大化)解决了您的问题,但 4 个月后它现在并没有为我解决。

我的第一个建议是找出启动器用于尝试启动 Chrome 的确切内容:

karma start <yourconfig> --log-level debug

在我的系统上,我发现 Karma(Testacular) 版本 0.8.4 存在两个问题,其中任何一个都足以阻止 Chrome 在我的 Windows 7 64 和 Chrome 26 上打开:

1) 让命令行更短并指向 Chrome

首先,有一些关于启动器命令的东西,在它被调用的上下文中,它应该可以工作,但不能。如果我自己将它粘贴到控制台中,它会起作用,但在 Karma 运行它时不起作用。也许只是有点太长了。

要解决这个问题

  1. 将 Chrome 放到您的 Windows PATH 环境变量中。
  2. 将 CHROME_BIN Windows 环境变量设置为“chrome.exe”。

现在命令行将仅以 chrome.exe 开头,而不是它的完整路径。请注意,这也解决了另一个问题(由下面的 Joe 指出),即 Karama 使用的 Chrome 的默认路径指向您的用户目录中的某个位置,而不是在您的 Program Files 中。所以通过设置这个环境变量,你会导致 Karma 使用它。

2)修复用户数据目录

接下来,通过试错,我发现launcher命令在它的一个参数后使用了等号,这也导致Chrome无法正常启动。我无法解释为什么。但修复很简单:

  1. 找到 chrome.js 文件并更改

'--user-data-dir=' + this._tempDir,

'--user-data-dir ' + this._tempDir,

如果这对其他人有帮助,请告诉我,我将提交拉取请求。但目前,我处于“没有其他人提到这一点,所以也许这只是我的系统有点奇怪”模式......

于 2013-04-07T15:49:45.903 回答