Ich versuche, meine Selenium-Tests gegen Chrome auszuführen. Wenn ich Treiber lokal initialisiere:
%Vor%Alles funktioniert gut (ich habe Chrome bereits auf meinem PATH gespeichert) Aber wenn ich versuche, es aus der Ferne zu starten:
%Vor%Ich bekomme den folgenden Fehler
Selenium :: WebDriver :: Fehler :: UnhandledError: Der Pfad zum Die ausführbare Chromtreiberdatei muss vom webdriver.chrome.driver gesetzt werden Systemeigenschaft; Weitere Informationen finden Sie unter Ссылка . Das Neueste Version kann von heruntergeladen werden Ссылка (java.lang.IllegalStateException)
Ich bin da ein bisschen verwirrt - wie genau sollte ich diese Systemeigenschaft einstellen? Ich habe diesen Code in Java geschrieben:
%Vor%aber meine Tests sind in Ruby geschrieben. RubyBindings sprechen nicht über dieses Problem Ссылка
Tatsächlich ist die Fehlermeldung etwas falsch. Sie müssen nicht angeben, um die Systemeigenschaft festzulegen, aber die ausführbare Chromtreiberdatei muss im PATH auf dem Remotecomputer verfügbar sein (auf dem der Server ausgeführt wird).
Wenn Sie den Pfad als Eigenschaft angeben möchten, können Sie das beim Start des Servers tun, z. B .:
%Vor%Sie müssen den Pfad zu Ihrer cromedriver.exe im Code des Tests festlegen. Es ist so etwas wie
%Vor%in Java
Ich verwende auch Java-basierte Tests, daher kann ich Ihnen kein genaues Beispiel für Ruby geben. Aber im Grunde müssen Sie Ihrem Ruby-Programm mitteilen, wo der Pfad zu chromedriver.exe
ist Ich fand die ausgewählte Antwort sehr irreführend. Ich brauchte ungefähr eine Stunde, um den Fehler zu lösen. Der -Knoten sollte die Eigenschaft webdriver.chrome.driver
haben, nicht der Hub .
Daher sollte der Befehl der ausgewählten Antwort stattdessen lauten:
java -Dwebdriver.chrome.driver=/path/to/driver -jar selenium-server-standalone.jar -role node
Tags und Links ruby google-chrome selenium webdriver