2017-10-18 3 views
2

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.

Antwort

0

Der von WebDriverManager auf einer Windows-Maschine verwendete Cache befindet sich unter C:\Users\your-user\.m2\repository. Konkret, für verchromten, sollte die Binärdatei bei C:\Users\your-user\.m2\repository\webdriver\chromedriver\win32\2.33\chromedriver.exe sein. Überprüfen Sie, ob diese Datei tatsächlich existiert, da dies die Methode forceCache() ist. Ich habe nochmal überprüft und diese Funktion funktioniert immer noch wie erwartet. In Ihrem Fall scheint es, dass die Cache-Datei nicht verfügbar ist und WebDriverManager versucht, sie herunterzuladen.

+0

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

+0

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). –

+0

Danke, das habe ich gesucht :) – Geoffrey

Verwandte Themen