我正在Karma和Jasmine的无头服务器上进行角度5单元测试。我正在使用chrome headless来运行测试。
与--remote-debugging-port=9223
一起使用时,我无法访问Chrome的调试模式。我在我的远程Chrome网址中尝试使用http://35.1.28.84:9223
。
我确保所有接口都在监听host: '0.0.0.0'
。我确保端口也是开放的。
为什么我无法远程访问chrome的调试器?
START:
29 03 2018 15:38:05.480:INFO [karma]: Karma v2.0.0 server started at http://0.0.0.0:9876/
29 03 2018 15:38:05.482:INFO [launcher]: Launching browser MyHeadlessChrome with unlimited concurrency
29 03 2018 15:38:05.497:INFO [launcher]: Starting browser ChromeHeadless
29 03 2018 15:38:18.487:INFO [HeadlessChrome 0.0.0 (Linux 0.0.0)]: Connected on socket pfKmImL3pGU9ibL7AAAA with id 10485493
无头-karma.conf.js
module.exports = function(config) {
config.set({
host: '0.0.0.0',
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-mocha-reporter'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('@angular/cli/plugins/karma')
],
reporters: ['mocha'],
port: 9876, // karma web server port
colors: true,
angularCli: {
environment: 'dev'
},
browsers: ['MyHeadlessChrome'],
customLaunchers: {
MyHeadlessChrome: {
base: 'ChromeHeadless',
flags: [
'--disable-translate',
'--disable-extensions',
'--no-first-run',
'--disable-background-networking',
'--remote-debugging-port=9223',
]
}
},
autoWatch: false,
singleRun: true,
concurrency: Infinity
});
};
one@work:~/github/MCTS.UI (dh/headless-unittests)
$ google-chrome --version
Google Chrome 64.0.3282.167
one@work:~/github/MCTS.UI (dh/headless-unittests)
$ google-chrome-stable --version
Google Chrome 64.0.3282.167
答案 0 :(得分:0)
您需要为chrome提供另一个参数:
-远程调试地址= 0.0.0.0
使用给定地址而不是默认环回来接受远程调试连接。应与--remote-debugging-port一起使用。请注意,远程调试协议不会执行任何身份验证,因此,将其公开得太多可能会带来安全风险。