Docker中的Nightwatch仅适用于Phantom

时间:2016-12-17 21:43:01

标签: selenium docker automated-tests nightwatch.js

我在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中收到连接重置错误?

enter image description here

1 个答案:

答案 0 :(得分:0)

我终于找到了答案,我必须在docker中设置“no_proxy”环境变量并将其值设置为localhost

ENV no_proxy "localhost;127.0.0.1"