Ich versuche, meine Test-Runner-Anwendung vollständig zu dockerisieren. Ich verwende die öffentlichen Hub- und Knotenbilder, um ein Selenium-Gitter zu erstellen, das gut funktioniert - ich kann meine Tests lokal mit dem Dockerized Grid ausführen. Alles, was ich jetzt noch tun muss, ist, meinen Test-App-Code zu docken und gegen das Grid zu starten. Ich habe eine Docker-Compose-Datei erstellt, um das Grid einzurichten und den Testcode auszuführen. Wenn die Tests über den Docker-Container ausgeführt werden, können sie leider keine Verbindung zum Hub herstellen. Ich überprüfte die Logs des Test-Runner-Containers und ich sah einige Ergebnisse aus dem ersten Testschritt. Es hängt dann dort für etwa eine Minute und gibt die folgenden:Wie kann ich Selen-UI-Tests in einem Grid vom Andock-Container ausführen?
Net::ReadTimeout (Net::ReadTimeout)
ich in den Docker Test Runner Behälter geschält und konnte die Nabe ping von dort so glaube ich, die Test-Runner mit der Nabe sprechen kann. Ich meine angegebene Treiberkonfiguration wie folgt:
Capybara.register_driver :remote_hub_chrome do |app|
caps = Selenium::WebDriver::Remote::Capabilities.chrome
caps.version = "59.0.3071.115"
caps.platform = "LINUX"
Capybara::Selenium::Driver.new(
app,
:browser => :chrome,
:url => "http://hub-container:4444/wd/hub",
:desired_capabilities => caps
)
end
Wie Sie sehen können, wird es versuchen, die Hub-Container Domäne zu treffen, die es in der Lage sein sollte, da ich es aus dem Behälter anpingen kann.
Ich sehe keine Protokollinformationen auf dem Browser Knoten Container, so scheint es nicht einmal versucht worden zu erreichen. Ich bin in der Lage, den gleichen Test von meinem lokalen Rechner außerhalb des Andock-Containers auszuführen. Einziger Unterschied ist, dass ich den Hub-Container zu localhost ändern muss, da ich nicht mehr innerhalb des Containers laufe.
Hat jemand eine Idee, warum ich den Test nicht innerhalb eines Docker-Containers ausführen kann?
Compose-Datei:
version: "3"
services:
hub:
image: selenium/hub
ports:
- "4444:4444"
networks:
- ui-test
firefox:
image: selenium/node-firefox-debug
ports:
- "5900"
depends_on:
- hub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
networks:
- ui-test
chrome:
image: selenium/node-chrome-debug
ports:
- "5900"
depends_on:
- hub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
networks:
- ui-test
test-runner:
image: test-runner
depends_on:
- hub
- chrome
- firefox
networks:
- ui-test
networks:
ui-test:
driver: bridge
Veröffentlichen Sie Ihre Datei verfassen –
hinzugefügt verfassen Datei – Barodapride