Für mein Selenium/Cucumber/Maven-Projekt habe ich die neueste Version des Chrome- und IE-Treibers über den WebdriderManager auf einer virtuellen Maschine mit einer Internetverbindung heruntergeladen. Danach habe ich das gleiche Projekt auf einem Windows-Server ohne Internetverbindung (die gleichen Maven lokalen Repo-Ordner verwenden), setzte in IntelliJ eine Überschreibung für die lokalen Maven-Repo-Ordner und hinzugefügt, um die forceCache Option:Webdrivermanager forceCache versucht, eine Verbindung zu URL herzustellen
ChromeDriverManager.getInstance().forceCache().setup();
driver = new ChromeDriver();
Version von webdrivermanager = 1.7.2
Beim Ausführen eines Tests über die Befehlszeile von Windows mit Maven Befehl mvn test clean, erhalte ich unten Verbindungsfehler. Der Browser-Treiber ist im lokalen Repo verfügbar.
INFO BrowserManager - Reading https://chromedriver.storage.googleapis.com/
to seek [chromedriver]
[main] INFO BrowserManager - Reading
https://chromedriver.storage.googleapis.com/ to seek [chromedriver]
[main] WARN BrowserManager - [1/3] Exception reading
https://chromedriver.storage.googleapis.com/ to seek [chromedriver]:
org.apache.http.conn.HttpHostConnectException Connect to
chromedriver.storage.googleapis.com:443
[chromedriver.storage.googleapis.com/216.58.212.208] failed: Connection
timed out: connect
UPDATE: Ich habe meinen Test erneut über die virtuelle Maschine mit einer Internetverbindung ausgeführt. Es sieht so aus, als ob Maven immer noch den Standardordner .m2 verwendet, der die zwischengespeicherten Browsertreiber nicht enthält und webdriverwebmanager versucht, die Dateien herunterzuladen. Das ist also kein WebdriverManager, sondern ein Maven-Problem. Hat jemand Vorschläge, um dieses Problem zu beheben? Ich habe meine Maschine schon wieder gestartet, aber ohne Glück.
Hallo Boni, danke für die Antwort. Ich ging davon aus, dass der Override in den IDE IntelliJ Maven-Einstellungen für den Repo-Ordner auch vom Webdrivermanager verwendet wurde. Ist es möglich, dies in einen benutzerdefinierten Repository-Speicherort zu ändern? Dies erscheint uns praktischer, weil wir ein GIT-Repository mit mehreren Benutzern verwenden. – Geoffrey
Verwenden Sie den Konfigurationsschlüssel 'wdm.targetPath', um den Speicherort des lokalen Repositorys zu ändern. Details finden Sie unter [doc] (https://github.com/bonigarcia/webdrivermanager). –
Danke, das habe ich gesucht :) – Geoffrey