调试日志:
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 并禁用防火墙,但这些都不起作用。
正如 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';
希望它能帮助像我这样绝望的人一天......
显然 karma 文件已损坏,这对我有帮助:
node_modules
文件夹。npm install
这对我有用:
npm install puppeteer --save-dev
将此代码添加到模块导出功能最顶部的
karma.conf.js
:
const puppeteer = require('puppeteer');
process.env.CHROME_BIN = puppeteer.executablePath();
禁用 chrome 沙箱:
browsers: ['ChromeHeadlessCI'],
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
}
我正在 Visual Studio Code 终端上执行命令。当我突然切换到 iTerm 时,它起作用了。
当我在 Windows 服务器版本上使用带有 chrome 版本 93 的 Karma 包时,遇到了这个问题。以前我的构建在 92 chrome 版本上运行,但将 chrome 升级到 93 后,构建开始失败。
回滚我的 Chrome 解决了我的问题。
我的解决方案是将我的 Karma 全局安装更新到最新版本。我怀疑我也可以重新安装现有版本,因为我认为 Karma 安装已损坏,因为无论我使用什么浏览器,Karma 仍然无法连接到它(或者它无法连接到 Karma) ).
另一个原因是运行过时版本的 karma 和相关软件包(我特别怀疑 karma-chrome-launcher)。
尝试设置
NO_PROXY
导出export NO_PROXY="localhost, 0.0.0.0/4201, 0.0.0.0/9876"
可能为时已晚。但请尝试将
captureTimeout
配置值增加相当大的倍数。一旦完成初始化,这可能会给测试脚本一些时间来捕获浏览器。
我在 Jenkins 构建服务器上遇到了类似的问题。问题出在我们使用的 node-chrome docker 容器上,它总是引用最新的镜像。当降级node-chrome到较低版本(例如node16)时,
ng test
再次开始工作。