ChromeHeadless无法启动:运行ng测试时超时

时间:2019-05-27 10:49:42

标签: angular typescript unit-testing jasmine karma-runner

我正在使用Angular 7(7.2.13)应用程序,但无法运行映射到npm run test的{​​{1}}。

我正在运行Ubuntu under Windows 10,并且我所有与应用程序相关的命令行操作都是在Ubuntu上完成的。这是项目的要求,但是我只在这里呆了几个星期,还没有找到原因!

我已按照these instructions安装了ChromeHeadless。完成此操作后,我设置了ng test --watch=false --browsers=ChromeHeadless。但是,ChromeHeadless似乎无法启动:

  

27 05 2019 11:26:40.497:INFO [karma-server]:Karma v4.0.1服务器从http://0.0.0.0:9876/启动

     

27 05 2019 11:26:40.500:INFO [启动器]:启动浏览器ChromeHeadless并发无限   #

     

27 05 2019 11:26:40.506:INFO [启动]:启动浏览器ChromeHeadless 27 05 2019 11:27:40.507:WARN [启动]:ChromeHeadless在60000毫秒内未捕获,导致死亡。

     

27 05 2019 11:27:40.724:INFO [启动器]:尝试再次启动ChromeHeadless(1/2)。

它会重试几次,但只是超时。我看到了一些有关打开详细日志记录的帖子,但是修改CHROME_BIN=/usr/bin/chromium-browser只会使过程变慢!

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我解决了由客户端的代理阻止程序导致的同一消息问题。我必须在karma.conf.js的customLauncher中设置--proxy-server标志,以便因果服务器可以获取ChromeHeadless并完美执行测试。

karma.conf.js

browsers: ['MyChromeHeadless'], 
    customLaunchers: {
    MyChromeHeadless: {
        base: 'ChromeHeadless',
        flags: [
          '--no-sandbox',
          '--proxy-bypass-list=*',
          '--proxy-server=http://proxy.your.company'
        ]
      }
    }