Karma 错误 - Chrome 在 60000 毫秒内未捕获,杀死

问题描述 投票:0回答:11

调试日志:

E:\Projects\abb\Projects\WebApp\abb.web>karma start
DEBUG [plugin]: Loading karma-* from E:\Projects\abb\Projects\WebApp\abb
.web\node_modules
DEBUG [plugin]: Loading plugin E:\Projects\abb\Projects\WebApp\abb.web\n
ode_modules/karma-chrome-launcher.
DEBUG [plugin]: Loading plugin E:\Projects\abb\Projects\WebApp\abb.web\n
ode_modules/karma-jasmine.
INFO [karma]: Karma v0.12.16 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
DEBUG [temp-dir]: Creating temp dir at C:\Users\Kunal\AppData\Local\Temp\karma-8
6563066
DEBUG [launcher]: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --
user-data-dir=C:\Users\Kunal\AppData\Local\Temp\karma-86563066 --no-default-brow
ser-check --no-first-run --disable-default-apps --disable-popup-blocking --disab
le-translate http://localhost:9876/?id=86563066
DEBUG [watcher]: Resolved files:
        E:/Projects/abb/Projects/WebApp/abb.web/node_modules/karma-jasmi
ne/lib/jasmine.js
        E:/Projects/abb/Projects/WebApp/abb.web/node_modules/karma-jasmi
ne/lib/adapter.js
        E:/Projects/abb/Projects/WebApp/abb.web/app/js/vendor/angular.js

        E:/Projects/abb/Projects/WebApp/abb.web/app/js/vendor/angular-ro
ute.js
        E:/Projects/abb/Projects/WebApp/abb.web/test/lib/angular-mocks.j
s
        E:/Projects/abb/Projects/WebApp/abb.web/app/js/app.debug.js
        E:/Projects/abb/Projects/WebApp/abb.web/test/unit/homepage.spec.
js
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/client.html
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/karma.js
DEBUG [web-server]: upgrade /socket.io/1/websocket/9uv4dB4yQPjZ7sZcWUuH
DEBUG [karma]: A browser has connected on socket 9uv4dB4yQPjZ7sZcWUuH
WARN [launcher]: Chrome have not captured in 60000 ms, killing.
DEBUG [launcher]: Process Chrome exited with code 0
DEBUG [temp-dir]: Cleaning temp dir C:\Users\Kunal\AppData\Local\Temp\karma-8656
3066
INFO [launcher]: Trying to start Chrome again (1/2).
DEBUG [launcher]: Restarting Chrome
DEBUG [temp-dir]: Creating temp dir at C:\Users\Kunal\AppData\Local\Temp\karma-8
6563066
DEBUG [launcher]: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --
user-data-dir=C:\Users\Kunal\AppData\Local\Temp\karma-86563066 --no-default-brow
ser-check --no-first-run --disable-default-apps --disable-popup-blocking --disab
le-translate http://localhost:9876/?id=86563066
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/client.html
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/karma.js
DEBUG [web-server]: upgrade /socket.io/1/websocket/ei81-LVHlsfeDeCXWUuI
DEBUG [karma]: A browser has connected on socket ei81-LVHlsfeDeCXWUuI
WARN [launcher]: Chrome have not captured in 60000 ms, killing.
DEBUG [launcher]: Process Chrome exited with code 0
DEBUG [temp-dir]: Cleaning temp dir C:\Users\Kunal\AppData\Local\Temp\karma-8656
3066
INFO [launcher]: Trying to start Chrome again (2/2).
DEBUG [launcher]: Restarting Chrome
DEBUG [temp-dir]: Creating temp dir at C:\Users\Kunal\AppData\Local\Temp\karma-8
6563066
DEBUG [launcher]: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --
user-data-dir=C:\Users\Kunal\AppData\Local\Temp\karma-86563066 --no-default-brow
ser-check --no-first-run --disable-default-apps --disable-popup-blocking --disab
le-translate http://localhost:9876/?id=86563066
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/client.html
DEBUG [web-server]: serving: E:\Projects\abb\Projects\WebApp\abb.web\nod
e_modules\karma\static/karma.js
DEBUG [web-server]: upgrade /socket.io/1/websocket/rpgHU0_UF1MnvCwCWUuJ
DEBUG [karma]: A browser has connected on socket rpgHU0_UF1MnvCwCWUuJ
DEBUG [launcher]: Disconnecting all browsers
DEBUG [launcher]: Process Chrome exited with code 0
DEBUG [temp-dir]: Cleaning temp dir C:\Users\Kunal\AppData\Local\Temp\karma-8656
3066

封装版本: 节点版本:v0.10.28

"karma": "^0.12.16",
"karma-chrome-launcher": "^0.1.4",
"karma-jasmine": "^0.1.5",

配置文件:

// Karma configuration
// Generated on Sat May 24 2014 22:34:35 GMT+0530 (India Standard Time)

module.exports = function(config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',


    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['jasmine'],


    // list of files / patterns to load in the browser
    files: [
        'app/js/vendor/angular.js',
        'app/js/vendor/angular-route.js',
        'test/lib/angular-mocks.js',
        'app/js/app.debug.js',
        'test/unit/**/*.spec.js'
    ],


    // list of files to exclude
    exclude: [

    ],


    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
    preprocessors: {

    },


    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['progress'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_DEBUG,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: false,


    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: ['Chrome'],


    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false
  });
};

Chrome 打开 localhost://9876 并显示“karma - 开始”

无法让业力发挥作用。请帮忙。

我尝试设置 autowatch: true 并禁用防火墙,但这些都不起作用。

angularjs unit-testing karma-runner karma-jasmine
11个回答
9
投票

正如 Mikey 提到的,设置

NO_PROXY
对我有用,但它不是通过
export
,但我必须在
karma.conf.js
文件中进行设置,以便
Karma
选择此环境变量。

process.env.NO_PROXY = 'localhost, 0.0.0.0/4201, 0.0.0.0/9876';
process.env.no_proxy = 'localhost, 0.0.0.0/4201, 0.0.0.0/9876';

希望它能帮助像我这样绝望的人一天......


3
投票

显然 karma 文件已损坏,这对我有帮助:

  1. 完全删除
    node_modules
    文件夹。
  2. 奔跑
    npm install

3
投票

这对我有用:

  1. 安装puppeteer

    npm install puppeteer --save-dev
    
  2. 将此代码添加到模块导出功能最顶部的

    karma.conf.js

    const puppeteer = require('puppeteer');
    process.env.CHROME_BIN = puppeteer.executablePath();
    
  3. 禁用 chrome 沙箱:

    browsers: ['ChromeHeadlessCI'],
    customLaunchers: {
        ChromeHeadlessCI: {
            base: 'ChromeHeadless',
            flags: ['--no-sandbox']
        }
    }
    

2
投票

我正在 Visual Studio Code 终端上执行命令。当我突然切换到 iTerm 时,它起作用了。


2
投票

当我在 Windows 服务器版本上使用带有 chrome 版本 93 的 Karma 包时,遇到了这个问题。以前我的构建在 92 chrome 版本上运行,但将 chrome 升级到 93 后,构建开始失败。

回滚我的 Chrome 解决了我的问题。


1
投票

我的解决方案是将我的 Karma 全局安装更新到最新版本。我怀疑我也可以重新安装现有版本,因为我认为 Karma 安装已损坏,因为无论我使用什么浏览器,Karma 仍然无法连接到它(或者它无法连接到 Karma) ).


0
投票

另一个原因是运行过时版本的 karma 和相关软件包(我特别怀疑 karma-chrome-launcher)。


0
投票

尝试设置

NO_PROXY
导出
例如:
export NO_PROXY="localhost, 0.0.0.0/4201, 0.0.0.0/9876"


0
投票

可能为时已晚。但请尝试将

captureTimeout
配置值增加相当大的倍数。一旦完成初始化,这可能会给测试脚本一些时间来捕获浏览器。


0
投票

我在 Jenkins 构建服务器上遇到了类似的问题。问题出在我们使用的 node-chrome docker 容器上,它总是引用最新的镜像。当降级node-chrome到较低版本(例如node16)时,

ng test
再次开始工作。


0
投票

对我有用的是跑步

npm rebuild
。请参阅相关的 gitlab 讨论

为了让它工作,我运行所有这些:

npm install && npm rebuild && npm test
© www.soinside.com 2019 - 2024. All rights reserved.