Webdrivermanager forceCache正在尝试连接到URL

时间:2017-10-18 09:08:02

标签: maven-3 webdrivermanager-java

对于我的Selenium / Cucumber / Maven项目,我通过Webdrivermanager在具有互联网连接的虚拟机上下载了最新版本的Chrome和IE驱动程序。在此之后,我在没有Internet连接的Windows服务器上使用了相同的项目(使用相同的Maven本地repo文件夹),在IntelliJ中设置了本地Maven repo文件夹的覆盖并添加了forceCache选项:

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

webdrivermanager的版本= 1.7.2

当使用Maven命令mvn test clean通过Windows命令行执行测试时,我收到以下连接错误。浏览器驱动程序在本地仓库中可用。

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

更新:我已经通过具有互联网连接的虚拟机再次执行了我的测试。看起来Maven仍在使用默认的.m2文件夹,该文件夹不包含缓存的浏览器驱动程序,webdrivermanager尝试下载文件。所以这不是webdrivermanager问题,而是Maven问题。有没有人建议解决这个问题?我已经重启了我的机器,但没有运气。

1 个答案:

答案 0 :(得分:0)

Windows机器中WebDriverManager使用的缓存位于C:\Users\your-user\.m2\repository。具体而言,对于 chromedriver ,二进制文件应为C:\Users\your-user\.m2\repository\webdriver\chromedriver\win32\2.33\chromedriver.exe。检查此文件是否确实存在,因为这是forceCache()方法要查找的内容。我再次加倍检查,此功能仍然按预期工作。在您的情况下,似乎缓存文件不可用,因此WebDriverManager尝试下载它。