phantomjs没有捕获

时间:2013-05-28 08:54:29

标签: macos phantomjs gruntjs yeoman

我使用npm在Mac OS X 10.8.3上设置了标准的yeoman / angular安装。我使用yo生成器创建了一个新的角度项目。我通过npm install -g phantomjs安装了phantomjs。我将karma配置为unly使用phantomjs(所有其他浏览器工作正常)。使用grunt test运行测试时,即使我设置了很长的超时(50000ms),phantomjs根本不会捕获。这是日志输出:

Running "karma:unit" (karma) task
DEBUG [reporter]: Using reporter "progress".
INFO [karma]: Karma server started at http://localhost:8080/
INFO [launcher]: Starting browser PhantomJS
DEBUG [launcher]: Creating temp dir at /var/folders/6j/gz50dm2d3xv1hnz7s1t4lhn40000gp/T/testacular-79891032
DEBUG [launcher]: /usr/local/bin/phantomjs /var/folders/6j/gz50dm2d3xv1hnz7s1t4lhn40000gp/T/testacular-79891032/capture.js
WARN [watcher]: Pattern "/Users/alexanderwalter/Development/angularSeed/test/mock/**/*.js" does not match any file.
DEBUG [watcher]: Resolved files:
    /Users/alexanderwalter/Development/angularSeed/node_modules/grunt-karma/node_modules/karma/adapter/lib/jasmine.js
    /Users/alexanderwalter/Development/angularSeed/node_modules/grunt-karma/node_modules/karma/adapter/jasmine.js
    /Users/alexanderwalter/Development/angularSeed/app/components/angular/angular.js
    /Users/alexanderwalter/Development/angularSeed/app/components/angular-mocks/angular-mocks.js
    /Users/alexanderwalter/Development/angularSeed/app/scripts/app.js
    /Users/alexanderwalter/Development/angularSeed/app/scripts/controllers/add.js
    /Users/alexanderwalter/Development/angularSeed/app/scripts/controllers/main.js
    /Users/alexanderwalter/Development/angularSeed/test/spec/controllers/add.js
    /Users/alexanderwalter/Development/angularSeed/test/spec/controllers/main.js
DEBUG [web server]: serving: /Users/alexanderwalter/Development/angularSeed/node_modules/grunt-karma/node_modules/karma/static/client.html
DEBUG [web server]: serving: /Users/alexanderwalter/Development/angularSeed/node_modules/grunt-karma/node_modules/karma/static/testacular.js
DEBUG [karma]: New browser has connected on socket wxBffi5IEZn9zQvoTm0J
WARN [launcher]: PhantomJS have not captured in 50000 ms, killing.
DEBUG [launcher]: Process PhantomJS exitted with code 1
ERROR [launcher]: Cannot start PhantomJS

正如我所说,它适用于所有其他浏览器。如果我将一个简单的测试脚本传递给控制台,那么Phantomjs也可以工作。

3 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,发现这是nodejs 0.10.8 / 0.10.9的一个问题:https://github.com/karma-runner/karma/issues/558

降级到nodejs 0.10.7解决了我的问题。

答案 1 :(得分:1)

如果您想使用节点0.10.11,则代理选项适用于我(Mac 10.6.8,Karma 0.8.5和节点0.10.11或0.10.7。节点0.10.8 / 9/10没用。)。

在karma.conf.js文件中:

proxies = {
'/': 'http://localhost:9000'
};
urlRoot = '/__unit/';

在karma-e2e.conf.js文件中:

proxies = {
'/': 'http://localhost:9000'
};
urlRoot = '/__e2e/';

答案 2 :(得分:0)

我升级到Node.js的最新稳定版本。这解决了我。目前是10月20日。