2014-05-11 14 views
6

Ich habe einen Docker-Container mit einer Rails-App (nennen wir es Container A), die einige Scraping mit Watir Webdriver mit Firefox als Backend tun müssen.Firefox in einem Docker Container von Selen in einem anderen

Ich habe Firefox in einen anderen Behälter (Container B) installiert und ich möchte in Behälter wie ein etwas weitergeben können:

Selenium::WebDriver::Firefox::Binary.path= $DOCKER_RUN_CONTAINER_A 

jedes Mal watir So startet Firefox eine neue Instanz von CONTAINER_A ein startet neues Firefox.

Ich weiß, dass es einfach ist, Container über Ports kommunizieren zu lassen, aber wie wäre es mit ausführbaren Dateien? Und sieht es übrigens nach einer guten Designidee aus, die firefox in einem separaten Container isoliert?

+1

Dies ist eine interessante Frage. Leider gibt es keine Antworten. Sind Sie jemals an einen Punkt gelangt, an dem Sie selbst antworten könnten? –

+1

@AbeHeward, ich habe es geschafft, das Problem mit dem Elgalu/Docker-Selen-Bild zu umgehen und das Bild mit fig (jetzt Docker-Compose genannt) zu verknüpfen. – TopperH

Antwort

1

Ja, das ist einfach zu machen. Führen Sie einfach eine Instanz von Selenium Grid (standardmäßig eine Grid-Node Hybrid Combo) im Vordergrund auf dem Docker-Server (auf Port 5555 oder was auch immer) aus. Dann können Sie Ruby mit Selenium-Bindungen (nicht WitiR) verwenden, um den Firefox-Browser auf der Remote-Box zu steuern.

Verwandte Themen