Ich habe das folgende Problem
java -jar selenium-server-standalone-2.53.0.jar -role hub
phantomjs --webdriver=8090 --webdriver-selenium-grid-hub=http://localhost:4444
hat aber Fehler:
[INFO - 2016-03-25T13: 56: 28.397Z] GhostDriver - Main - läuft weiter Port 8090 [INFO - 2016-03-25T13: 56: 28.397Z] GhostDriver - Haupt - Registrierung zu Selenium HUB ' Ссылка Version: using '127.0.0.1:8090' mit org.openqa.grid.selenium.proxy.DefaultRemoteProxy als Remote-Proxy. [FEHLER - 2016-03-25T13: 56: 28.400Z] GhostDriver - main.fail - {"line": 97, "sourceURL": "phantomjs: //platform/hub_register.js", "stack": "registrieren @ phantomjs: //platform/hub_register.js: 97: 79 \ nglobal code @ phantomjs: //code/main.js: 78: 37 "}
phantomjs: //platform/console++.js: 263 fehlerhaft
Standardknoten funktioniert, aber PhantomJS funktioniert nicht. Was mache ich falsch?
Für alle, die noch suchen, gibt es Linux und Windows x64 Builds hier mit der Umgehung von v2.1.1 (Windows Build ist auf einer Pull-Anfrage - die Hex-Editor Workaround funktioniert nicht für Windows, da die .exe komprimiert sind)
Ich hatte das gleiche Problem. Anstatt den Quellcode herunterzuladen und zu kompilieren, wie es Ojen G. vorgeschlagen hat, habe ich eine Fehlerbehebung von Neuro-sys verwendet > um die Änderung in der ausführbaren Datei zu machen. Mein Betriebssystem ist Ubuntu 16.04.
Laden Sie das Programm "replacestrings.c" herunter.
%Vor%Programm kompilieren
%Vor%Ersetzen Sie die Java-Quellcodekette im Binärformat und erstellen Sie eine feste Binärdatei.
%Vor%Machen Sie binäre ausführbare Datei; und als Ersatz setzen
%Vor%Nach diesen Schritten läuft es gut (Selenium-Hub läuft bereits):
%Vor%Ersetzen Sie localhost durch die lokale IP
phantomjs --webdriver=8090 --webdriver-selenium-grid-hub=http://localhost:4444
mit
phantomjs --webdriver=8090 --webdriver-selenium-grid-hub=http://127.0.0.1:4444
Folgen Sie diesem Gedanken: Ссылка
Das Bearbeiten der Binärdatei, um ein //
vor die betreffende Zeile zu setzen, funktionierte für mich, aber nicht die Zeichenfolge ersetzen.
- & gt; Befolgen Sie den Teil über hdex
Suche nach platform:
und ersetzen durch //atform:
durch Ersetzen der Buchstaben pl
durch //
( 2F2F
in hex)
Ich habe zwei Monate damit verbracht, dieses Problem zu beheben, indem ich alles mögliche versuchte. Mein Hauptproblem war, dass viele Lösungen keine Verbindung zum Grid herstellen, und solche, die in Dockercontainern sind, können nur eine Verbindung zu einem lokalen Grid herstellen auf demselben Docker-Host.
Also ... habe ich endlich meine eigene Lösung entwickelt, die funktioniert: Ссылка
Docker-Bild ist madhavajay / selen-node-phantomjs
Es verwendet PhantomJS 2.1.1 Custom Build mit festem Ghostdriver und dann meine eigenen Änderungen an der neuesten Fork von Ghostdriver, um eine benutzerdefinierte --remoteHost-Param alle in einem Docker-Container mit konfigurierbaren Umgebungsvariablen verpackt zu ermöglichen.
Ich hoffe, das rettet jemanden die verlorenen Wochen, die ich erlitten habe.
Tags und Links java selenium-webdriver phantomjs selenium-grid ghostdriver