我们可以在 selenium 中添加驱动程序作为 maven 依赖项吗
Posted
技术标签:
【中文标题】我们可以在 selenium 中添加驱动程序作为 maven 依赖项吗【英文标题】:Can we add drivers in selenium as maven depandancies 【发布时间】:2018-11-07 00:52:36 【问题描述】:我们可以在 POM 中添加 gecko 驱动程序,即驱动程序或 chrome 驱动程序作为 depandancy 吗?我试图搜索但无法在https://mvnrepository.com/artifact 上对其进行罚款。有什么理由不将它们放在 Maven 存储库中?
【问题讨论】:
gecko 驱动程序或 chrome 驱动程序是可执行的二进制文件,Maven 是 Java .jar 文件和资源的存储库。但是,如果您仍然需要通过 Maven Repo 上传和使用非 java 二进制文件,您可以关注此帖子:rolfje.wordpress.com/2013/07/18/… 有一些 maven 插件可以自动下载二进制文件。例如。 github.com/webdriverextensions/webdriverextensions-maven-plugin 和 github.com/webdriverextensions/webdriverextensions-maven-plugin 可以使用cURL按版本下载驱动 【参考方案1】:正如少数 cmets 所述,该驱动程序是可执行的二进制文件。 Maven 无法帮助您,因为它只是一个依赖存储库。目前要在 Firefox 上运行 selenium,我们需要编写:
System.setProperty("webdriver.gecko.driver", "driverpath/.exe");
WebDriver driver = new FirefoxDriver();
但是,我们有新的解决方案可以让我们摆脱第一行代码,并且您不再需要下载 dirver 二进制文件。它称为 WebDriverManager,它是一个可以使用 Maven pom 文件添加的依赖项。 这将在运行时使用最新版本号调用驱动程序。 你现在需要写的是:
WebDriverManager.firefoxdriver().setup();
WebDriver driver = new FirefoxDriver();
并且需要在pom文件中添加这个依赖
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>2.2.1</version>
</dependency>
有关这方面的更多信息,请转到 Github 链接以检查驱动程序的所有其余部分,例如 chrome 、ie 等。WebDriverManagerLink
【讨论】:
【参考方案2】:Check out this link for more clarification//在它会为 chrome 解决的行下面使用
WebDriverManager.chromedriver().browserVersion("77.0.3865.40").setup();
WebDriver driver = new ChromeDriver();
driver.get("URL");
//你还需要在POM文件中添加下面的依赖`
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>2.2.1</version>
</dependency>`
【讨论】:
以上是关于我们可以在 selenium 中添加驱动程序作为 maven 依赖项吗的主要内容,如果未能解决你的问题,请参考以下文章
如何使用C#selenium自动化Md2-datepicker?
为啥我们在 selenium webdriver 中需要番石榴?