Karma 测试运行器 - 无法捕获 chrome

Posted

技术标签:

【中文标题】Karma 测试运行器 - 无法捕获 chrome【英文标题】:Karma test runner - fails to capture chrome 【发布时间】:2014-01-04 22:40:56 【问题描述】:

我正在使用 Yeoman 生成一个 AngularJS 应用程序。运行grunt serve 来预览我的应用程序工作正常,但是当我尝试使用grunt test 运行测试时,我的控制台上出现以下错误:

Running "karma:unit" (karma) task
DEBUG [plugin]: Loading karma-* from D:\dev\wamp\www\tests\app\node_modules
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-chrome-launcher.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-coffee-preprocessor.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-firefox-launcher.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-html2js-preprocessor.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-jasmine.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-ng-html2js-preprocessor.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-ng-scenario.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-phantomjs-launcher.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-requirejs.
DEBUG [plugin]: Loading plugin D:\dev\wamp\www\tests\app\node_modules/karma-script-launcher.
INFO [karma]: Karma v0.10.8 server started at http://localhost:8080/
INFO [launcher]: Starting browser Chrome
DEBUG [launcher]: Creating temp dir at C:\Users\shlomis\AppData\Local\Temp\karma-91802655
DEBUG [launcher]: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --user-data-dir=C:\Users\shlomis\AppData\Local\Temp\karma-91802655 --no-default-browser-check --no-first-run --disable-def
ault-apps --start-maximized http://localhost:8080/?id=91802655
WARN [watcher]: Pattern "D:/dev/wamp/www/tests/app/test/mock/**/*.js" does not match any file.
DEBUG [watcher]: Resolved files:
        D:/dev/wamp/www/tests/app/node_modules/karma-jasmine/lib/jasmine.js
        D:/dev/wamp/www/tests/app/node_modules/karma-jasmine/lib/adapter.js
        D:/dev/wamp/www/tests/app/app/bower_components/angular/angular.js
        D:/dev/wamp/www/tests/app/app/bower_components/angular-mocks/angular-mocks.js
        D:/dev/wamp/www/tests/app/app/scripts/app.js
        D:/dev/wamp/www/tests/app/app/scripts/controllers/main.js
        D:/dev/wamp/www/tests/app/test/spec/controllers/main.js
DEBUG [web-server]: serving: D:\dev\wamp\www\tests\app\node_modules\karma\static/client.html
DEBUG [web-server]: serving: D:\dev\wamp\www\tests\app\node_modules\karma\static/karma.js
DEBUG [karma]: A browser has connected on socket 1ozU-x__3w49R5zevWXm
WARN [launcher]: Chrome have not captured in 60000 ms, killing.
Warning: Task "karma:unit" failed. Use --force to continue.

Aborted due to warnings.
节点 v0.10.23 业力版本:0.10.8

我错过了什么?

【问题讨论】:

它是否适用于其他浏览器?我曾经遇到过类似的问题,但我记得升级到最新版本的 node.js 后它可以工作。但是看到您已经在使用最新版本的情况,还有其他问题。 通过在karma.conf.js文件中将端口改为9876解决了 【参考方案1】:

在 karma.conf.js 文件中将默认端口 (8080) 更改为 9876 解决了我的问题

【讨论】:

不能为我解决问题。我的 karma.conf.js 没有指定端口,9876 应该已经是默认端口了。明确表示没有帮助。 @mcv 检查是否有其他进程正在监听端口 8080 / 9876 原来是机器本身的一个奇怪的配置错误。 localhost 没有指向 127.0.0.1。显然,任何使浏览器找不到业力服务器的事情都会导致此错误。

以上是关于Karma 测试运行器 - 无法捕获 chrome的主要内容,如果未能解决你的问题,请参考以下文章

自动化单元测试(Karma + Mocha)

Karma 无法捕获 PhantomJS

jasmine matcher函数不在angularjs / karma单元测试中加载

茉莉花匹配器功能未在 angularjs/karma 单元测试中加载

karma.conf.js 未捕获的参考错误:谷歌未定义

运行 UI 测试时无法捕获视图层次结构