【发布时间】:2016-12-17 21:43:01
【问题描述】:
我正在 Docker 容器中使用 nightwatch.js 运行一套测试。
当我使用 Phantomjs 运行测试时,它们运行良好。当我使用 Chrome 或 Firefox 运行相同的测试时,我收到“连接重置”错误。
Docker 容器的基础镜像是 Ubuntu:16.04,我已经安装并运行了 xvfb。
在尝试在 docker 中运行无头 Chrome 时,我已经应用了各种技巧来应对已知错误,包括:
- 使用 --privileged 运行容器
- 使用 --net=host 运行容器
- 使用 -v /var/run/dbus:/var/run/dbus 运行容器
- 使用 -v /dev/shm:/dev/shm 运行它
- 设置 DBUS_SESSION_BUS_ADDRESS=/dev/null 环境变量
- 确保 chrome 使用“--no-sandbox”参数和“--disable-gpu”参数运行
问题是,Firefox 和 chrome 都在运行,(你看他们都可以截屏)——问题只是“连接重置”错误。
当 Phantom 可以完美运行测试时,为什么我会从 Chrome 和 Firefox 收到连接重置错误?
【问题讨论】:
-
能否提供Dockerfile?
-
我无法发布 Dockerfile,但我已经找到了答案(实际上是几天前)并将其发布在下面。
标签: selenium docker automated-tests nightwatch.js