Webdrivermanager不能识别最新的geckodriver并下载旧的



我使用webdrivermanager

<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.4.3</version>
</dependency>

和FF 78.12.0esr(64位)与selenium server 3.14在Java。

geckodriver https://github.com/mozilla/geckodriver/releases有各种版本,根据https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html表我应该可以使用最新版本的驱动程序,因此应该下载0.29.1。

当我让webdrivermanager上的版本决定时,下载了0.26版本的壁虎驱动程序(WebDriverManager.firefoxdriver().setup();)。当我强制使用最新版本(WebDriverManager.firefoxdriver().driverVersion("0.29.1").setup();)时,新的驱动程序被下载并与我的测试一起工作,没有任何问题。

为什么webdriver不加载最新版本?

WebDriverManager有一个内部知识库(叫做versions database),以属性文件的形式实现。该数据库映射已知的驱动程序和浏览器版本。正如您在该文件中看到的,Firefox 78的已知驱动程序版本是geckodriver 0.26.0。这并不一定意味着最新版本的geckodriver(目前为0.29.1)与该浏览器版本不兼容,但它尚未经过测试。

关于最新版本(0.29.1),在版本数据库中避免了,因为我在Mac OS中发现了该版本的问题(甚至按照发行说明中的描述进行了公证)。因此,目前WebDriverManager更倾向于使用geckodriver 0.29.0作为最新版本的Firefox。

最新更新