【问题标题】:ChromeHeadless not starting: timing out when running ng testChromeHeadless 未启动:运行 ng 测试时超时
【发布时间】:2019-10-12 22:39:50
【问题描述】:

我正在开发一个 Angular 7 (7.2.13) 应用程序,但在运行 npm run test 时遇到问题,它映射到 ng test --watch=false --browsers=ChromeHeadless

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

我已通过关注these instructions 安装了 ChromeHeadless。这样做后我设置了CHROME_BIN=/usr/bin/chromium-browser。但是,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 [launcher]:启动浏览器 ChromeHeadless,并发无限制 #

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

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

它会再试几次,但只是超时。看过几篇关于开启详细日志的帖子,但是修改captureTimeout只有让进程变慢的效果!

谁能帮忙?

【问题讨论】:

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


【解决方案1】:

我解决了由客户端的代理阻止程序引起的同一消息的问题。我必须在 karma.conf.js 的 customLauncher 中设置 --proxy-server 标志,这样 karma 服务器才能获得 ChromeHeadless 并完美地执行测试。

karma.conf.js

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

【讨论】:

  • --no-sandbox 在 win server 2019 as ci 上为我工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 2019-09-21
  • 2020-01-30
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多