1

看起来通过 spring 运行 rspec 命令无法连接到本地 docker 容器,而 selenium 在 osx 下的 docker-machine 上运行以执行 capybara 测试。当不通过 spring 服务器调用 rspec 命令时 - 一切正常,我可以看到容器日志,并且在使用 spring 运行时 - 我什么也看不到,并且 bin/rspec 输出在 capybara 测试中停止,直到我按下 ctrl-c。

这是我的 docker 的 spec_helper.rb rspec 配置:

Capybara.register_driver :dockerized_selenium do |app|
  Capybara::Selenium::Driver.new(app,
  :browser => :remote,
  :url => "http://192.168.99.100:4444/wd/hub")
end

Capybara.app_host = "http://10.0.2.2:3000"
Capybara.server_host = '10.0.2.2'
Capybara.server_port = '3000'

Capybara.javascript_driver = :dockerized_selenium

我将这个 docker图像用于 selenium,将 ff 用于浏览器。192.168.99.100 - 是我的 docker 机器运行容器的节点,而 10.0.2.2 - 是容器内部的本地主机 IP。

有人看到我错过了什么吗?谢谢。

4

1 回答 1

0

如果您使用的是代理,您可能需要在 docker_opts 中添加一个 dns 条目。不知道你的设置如何,但它在 etc/default/docker

于 2016-04-26T22:52:35.793 回答