我在ruby应用程序中有一些Selenium Webdriver / Capybara自动化设置。在使用Linux的VirtualBox VM中,我有一个用于Selenium网格docker run -d -p 4444:4444 --name selenium-hub -e GRID_TIMEOUT=120000 selenium/hub:2.53.0
的docker容器和一个firefox节点docker run -d --link selenium-hub:hub selenium/node-firefox:2.53.0
。在VM上的docker_opts中添加DNS条目后,如果我运行我的Selenium测试(使用我的VM上的网格),在我的主机中,一切正常。
在此之后,我将自动化代码设置在我的虚拟机上的红宝石容器中,并沿着网格和容器。容器构建得很好。我也可以毫无问题地附加它,我的所有代码都按预期存在。如果尝试运行规范ex,从我的自动化容器中的终端。 rspec spec/some_spec.rb
我将收到连接拒绝错误
“无法打开到127.0.0.1:4444的TCP连接(连接被拒绝 - 连接(2)用于\”127.0.0.1 \“端口4444)”
在搜索到这个问题的18个结果中,我看到的唯一可行的事情就是创建了一个桥梁,我真的不明白。任何关于如何纠正这一点的建议都将非常感激。答案 0 :(得分:1)
如果没有看到您的规格并不容易说,但我猜测您在测试中127.0.0.1:4444
上连接到selenium?
如果是这样,您现在应该在hub:4444
上连接到它,因为这个名称将解析为您的selenium hub容器的IP。