2

我正在尝试在 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 进行测试,但这显然不是最优的。

这个问题有什么解决办法吗?

4

2 回答 2

4

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

于 2013-02-04T03:13:09.573 回答
1

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

有两种解决方案:

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