无法访问Chrome无头调试

时间:2018-03-29 16:01:16

标签: google-chrome karma-runner headless-browser google-chrome-headless

我正在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

1 个答案:

答案 0 :(得分:0)

您需要为chrome提供另一个参数:

-远程调试地址= 0.0.0.0

使用给定地址而不是默认环回来接受远程调试连接。应与--remote-debugging-port一起使用。请注意,远程调试协议不会执行任何身份验证,因此,将其公开得太多可能会带来安全风险。