2017-10-18 5 views
2

Pour mon projet Selenium/Cucumber/Maven, j'ai téléchargé la dernière version du pilote Chrome et IE via Webdrivermanager sur une machine virtuelle avec une connexion Internet. Après cela, j'utilisé le même projet (en utilisant le même Maven dossier repo local) sur un serveur Windows sans connexion Internet, d'un remplacement pour le dossier repo Maven local dans IntelliJ et a ajouté l'option forceCache:Webdrivermanager forceCache tente de se connecter à l'URL

ChromeDriverManager.getInstance().forceCache().setup(); 
driver = new ChromeDriver(); 

Version de webdrivermanager = 1.7.2

Lors de l'exécution d'un test via la ligne de commande de Windows avec la commande Maven mvn test clean, je reçois en dessous de l'erreur de connexion. Le pilote du navigateur est disponible dans le repo local.

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 

MISE À JOUR: J'ai de nouveau effectué mon test via la machine virtuelle avec une connexion Internet. Il semble que Maven utilise toujours le dossier .m2 par défaut, qui ne contient pas les pilotes de navigateur mis en cache et webdrivermanager essaie de télécharger les fichiers. Donc ce n'est pas un problème de webdrivermanager, mais un problème de Maven. Est-ce que quelqu'un a des suggestions pour résoudre ce problème? J'ai déjà redémarré ma machine, mais sans chance.

Répondre

0

Le cache utilisé par WebDriverManager dans une machine Windows est situé au C:\Users\your-user\.m2\repository. Concrètement, pour chromedriver, le binaire doit être à C:\Users\your-user\.m2\repository\webdriver\chromedriver\win32\2.33\chromedriver.exe. Vérifiez que ce fichier existe réellement, car c'est ce que la méthode forceCache() va rechercher. J'ai doublé vérifié à nouveau et cette fonctionnalité fonctionne toujours comme prévu. Dans votre cas, il semble que le fichier de cache n'est pas disponible et que WebDriverManager essaie de le télécharger.

+0

Salut Boni, merci d'avoir répondu. J'étais sous l'hypothèse que le remplacement dans les paramètres IDE IntelliJ Maven pour le dossier repo, a également été utilisé par Webdrivermanager. Est-il possible de changer cela en un emplacement de dépôt personnalisé? Cela nous semble plus pratique, car nous utilisons un référentiel GIT avec plusieurs utilisateurs. – Geoffrey

+0

Utilisez la clé de configuration 'wdm.targetPath' pour modifier l'emplacement du référentiel local. Voir [doc] (https://github.com/bonigarcia/webdrivermanager) pour plus de détails. –

+0

Merci, c'est ce que je cherchais :) – Geoffrey