Fehler beim Registrieren des PhantomJS Knotens im Selen Grid

8

Ich habe das folgende Problem

  • Ich habe den Selenium Grid Hub erfolgreich mit:
  • eingeführt

java -jar selenium-server-standalone-2.53.0.jar -role hub

  • Danach habe ich versucht, den PhantomJS-Knoten mit:
  • zu starten

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?

    
uCodista 25.03.2016, 14:06
quelle

7 Antworten

5

Problemumgehung *** d / l Quelle von phantomjs Ссылка und bearbeiten Sie hub_register.js im src / Ghostdriver Zeilen auskommentieren wie folgt:

// var Ghostdriver = Ghostdriver || {};

%Vor%

kompilieren und alles funktioniert!

Abkürzung: Ссылка

Ursprüngliche Quelle: Ссылка

    
Ojen G. 25.03.2016 23:19
quelle
4

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)

Ссылка

    
widowfactory 25.10.2016 20:51
quelle
1

Sie können einen Teil der Binärdatei mit dem Befehl dd überschreiben.
Ich werde platform: durch //atform: ersetzen:

%Vor%

Wenn Sie die Zeichenfolge nicht finden können, versuchen Sie, die Anzahl der Oktetts pro Zeile zu erhöhen ( xxd -c 256 ).

    
kev 26.11.2016 15:34
quelle
0

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.

  1. Laden Sie das Programm "replacestrings.c" herunter.

    %Vor%
  2. Programm kompilieren

    %Vor%
  3. Ersetzen Sie die Java-Quellcodekette im Binärformat und erstellen Sie eine feste Binärdatei.

    %Vor%
  4. 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%     
VirtualScooter 07.05.2016 16:35
quelle
0

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

    
Ashmit Bhattarai 24.06.2016 10:54
quelle
0

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)

    
MrE 30.08.2016 21:19
quelle
0

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.

    
Madhava Jay 27.01.2017 09:08
quelle