将浏览器驱动程序添加为 Maven 依赖项的原因是啥?
Posted
技术标签:
【中文标题】将浏览器驱动程序添加为 Maven 依赖项的原因是啥?【英文标题】:What is the reason to add a browser driver as a maven dependency?将浏览器驱动程序添加为 Maven 依赖项的原因是什么? 【发布时间】:2019-09-11 22:53:39 【问题描述】:为什么要包含
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.9.1</version>
</dependency>
如果我们还需要下载驱动程序的二进制文件,到 maven 项目? 有什么好处? 如果我们更改依赖版本,但不下载新的二进制文件会发生什么?
【问题讨论】:
【参考方案1】:Selenium Maven Artifacts 可以在Central Maven Repository 中找到。现在要开始在您的 Maven 项目中使用任何实现,您只需在 pom.xml
中添加所需的依赖项(当前版本为 Selenium v3.141.59
):
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
下图显示了不同 Selenium Maven 工件 之间的依赖关系,以及这些工件中最重要的类/接口:
如果您知道您只会使用某个 WebDriver 实现,例如FirefoxDriver,你不需要依赖 selenium-java
工件(它有很多传递依赖)。相反,您可以在所需的工件上添加 selenium-chrome-driver
依赖项。
【讨论】:
是不是表示如果使用selenium-java
依赖,就不需要在pom中添加任何selenium-<browser>-driver
?
@Vladimir 是的,你是对的。您应该仅根据您的要求使用相关依赖项。以上是关于将浏览器驱动程序添加为 Maven 依赖项的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章
具有 maven 依赖项的 Java ClassNotFoundException