gpt4 book ai didi

angular - 在 docker 内使用 chrome headless 运行 ng 测试(angular-cli 业力测试)

转载 作者:行者123 更新时间:2023-12-02 20:48:34 25 4
gpt4 key购买 nike

我们有一个基于 debian 的 docker 镜像,我们正在尝试运行我们的 karma 单元测试。我们使用 Angular 和 angular-cli,所以我们基本上是在尝试启动我们的 ng 测试。

我们希望在 headless chrome 中而不是在 phantomJS 中运行它们。为了做到这一点,我们安装了 chrome,我们得到了一个与此非常相似的 dockerFile:https://hub.docker.com/r/justinribeiro/chrome-headless/~/dockerfile/ .

我们配置了我们的 karma 启动器以添加一些选项,但我们遇到了一个问题。通过启动命令很容易重现:

google-chrome --headless --no-sandbox --disable-gpu

我们收到以下错误:
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted

有人有想法吗?不得不承认我们有点卡住了,在这里:)

最佳答案

好的,我发现了问题,实际上与 docker 无关。

我注意到 karma 正在 http://0.0.0.0:9876/ 上启动它的服务器。 ,因此我必须在我的自定义 karma.conf 中添加两个新标志才能在正确的端口上启动 google-chrome:

'--remote-debugging-address=0.0.0.0',
'--remote-debugging-port=9876'

此外,我必须使用 --privileged 属性(或 --cap-add SYS_ADMIN,但 privileged 更完整)运行容器。

也许它会帮助某人;)

关于angular - 在 docker 内使用 chrome headless 运行 ng 测试(angular-cli 业力测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com