Ich versuche, meine Tests mit Selenium Docker zu laufen, ich einen lokalen Grunzen-Server auf Port 9000 ausgeführt haben, I‘ins Leben gerufen, die folgende Selen Docker:Der Versuch, localhost zu erreichen von innen Selen Docker
docker run -d -p 4444:4444 -p 5900:5900 selenium/standalone-chrome-debug
Dann habe ich meine Tests (mit Capybara) gestartet und VNC geöffnet, um die Tests zu sehen, aber alles, was ich bekomme, ist Chrom Messgae "Diese Seite kann nicht erreicht werden".
cabybara.rb:
isWindows = (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
require 'capybara/rspec'
require 'capybara'
require 'capybara/dsl'
require_relative 'sinatra_proxy'
require 'selenium/webdriver'
require 'selenium/webdriver/remote/http/curb' if !isWindows
Capybara.register_driver :selenium_chrome do |app|
http_client = isWindows ? nil : Selenium::WebDriver::Remote::Http::Curb.new
options = {
http_client: http_client,
browser: :chrome,
# service_log_path: 'chromedriver.out', # Enable Selenium logs
switches: ["--disable-web-security", '--user-agent="Chrome under Selenium for Capybara"']
}
options[:url] = "http://172.17.0.2:4444/wd/hub"
Capybara::Selenium::Driver.new app, options
end
Capybara.default_driver = :selenium_chrome
Capybara.app = SinatraProxy.new
Capybara.app_host = "http://127.0.0.1:9000"
Capybara.server_host = '0.0.0.0'
ip addr zeigen docker0
ip addr show docker0
6: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:22:ec:65:9e:f1 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe40::42:ecdd:fe73:9ef4/64 scope link
valid_lft forever preferred_lft forever
benötigt, um die IP-Adresse des Docker Gastgeber sein, verwendet:
ip route show | grep docker0 | awk '{print $9}'
für Capybara.app_host
(DOCKER_HOST_IP: PORT) und Capybara.server_host
(DOCKER_HOST_IP)
Haben Sie die Antworten von dieser Frage versucht [Von innen einen Docker-Container, wie verbinde ich mich mit dem localhost der Maschine?] (http://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to -the-localhost-of-the-mach) – R0MANARMY
Ja ich habe, mit net = Host mit Selen Image nicht wor ks, schließt der Container aus irgendeinem Grund –