看起来通过 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。
有人看到我错过了什么吗?谢谢。