【问题标题】:Webdrivermanager forceCache is trying to connect to URLWebdrivermanager forceCache 正在尝试连接到 URL
【发布时间】:2017-10-18 09:08:01
【问题描述】:

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

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

webdrivermanager 版本 = 1.7.2

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

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 问题。有没有人建议解决这个问题?我已经重新启动了我的机器,但没有运气。

【问题讨论】:

    标签: maven-3 webdrivermanager-java


    【解决方案1】:

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

    【讨论】:

    • 您好,博尼,感谢您的回复。我假设在 IDE IntelliJ Maven 设置中的 repo 文件夹的覆盖,也被 Webdrivermanager 使用。是否可以将其更改为自定义存储库位置?这对我们来说似乎更方便,因为我们使用具有多个用户的 GIT 存储库。
    • 使用配置密钥wdm.targetPath 更改本地存储库位置。详情请见doc
    • 谢谢,这就是我要找的:)
    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2021-05-08
    • 2020-03-05
    相关资源
    最近更新 更多