Windows 64位的测试无法启动浏览器

时间:2013-01-30 09:52:50

标签: node.js windows-8 64-bit yeoman karma-runner

我正在尝试使用Windows 8 64位的Testacular测试AngularJS应用程序。

当我运行“yeoman test”或“testacular start”命令时,我得到一个错误说; “系统无法找到指定的路径”:

C:\Users\me\Dropbox\GitHub\Studentportalen\studentportalen>yeoman test

Running "test" task
info: Testacular server started at http://localhost:8080/
info (launcher): Starting browser PhantomJS
warn (watcher): Pattern "C:/Users/me/Dropbox/GitHub/Studentportalen/st
udentportalen/test/mock/**/*.js" does not match any file.
error (launcher): Cannot start PhantomJS
    CreateProcessW: The system cannot find the path specified.

info (launcher): Trying to start PhantomJS again.
error (launcher): Cannot start PhantomJS
    CreateProcessW: The system cannot find the path specified.

info (launcher): Trying to start PhantomJS again.
error (launcher): Cannot start PhantomJS
    CreateProcessW: The system cannot find the path specified.

info: Disconnecting all browsers
<WARN> Command failed:  Use --force to continue. </WARN>

Aborted due to warnings.

我已经尝试将Testacular设置为使用Chrome而不是PhantomJS,但是会出现同样的错误。所以PhantomJS不是问题所在。

我听说它发生是因为Node.js不喜欢64位Windows(?)。 解决方法可能是设置32位VM进行测试,但这显然不是最佳的。

这个问题有解决办法吗?

2 个答案:

答案 0 :(得分:4)

我也遇到过这个问题。我发现要运行Chrome版本,我必须创建一个名为“CHROME_BIN”的系统变量,指向我的chrome.exe文件。所以我只是尝试创建一个指向我的phantom.cmd文件的“PHANTOMJS_BIN”变量,并且“嘿presto”它起作用了:)

答案 1 :(得分:1)

根据我的经验,testacular / Node.js在64位Windows中运行良好。问题是大多数浏览器的启动配置文件在浏览器的文件路径中使用“ProgramFiles”环境变量。在64位Windows上,这指向“Program Files”而不是“Program Files(x86)”,其中安装了大多数浏览器。

有两种解决方案:

  • 如johngeorgewright建议的那样,使用指向正确位置的[BROWSER] _BIN环境变量:Testacular Browser Configuration
  • 更改启动配置文件。这些普通的JS文件位于testacular安装的子目录“lib \ launchers”中。