【问题标题】:What is Browser Binary Manager how to use it for Selenium什么是浏览器二进制管理器,如何将它用于 Selenium
【发布时间】:2019-04-15 23:48:35
【问题描述】:

我最近了解到,在自动化项目中使用“WebDriver Binaries”管理器是一种很好的做法。 但不确定这是什么以及如何使用? 也做了一些谷歌搜索,得到了很多关于如何管理二进制文件的帖子;但不是关于为什么要使用。 因此,如果有人可以指导它的好处,那就太好了。

【问题讨论】:

  • 您是在自动化项目中使用 selenium,还是使用其他自动化工具?如果你使用 selenium,你不能避免只使用WebDriver binary,除非你使用早期版本的 selenium 和 Firefox(对于早期的 selenium 和 firefox,firefox 的 webdriver 是一个扩展,并集成到 selenium jar 中,将安装该扩展通过 selenium 自动进入 Firefox)
  • 你能分享一下你如何在没有 WebDriver 的情况下使用 Selenium 的代码示例吗?
  • HI Yong 和 Andersson:我只使用 webDriver,但不确定/知道术语“二进制”..可能需要修改问题,我已经对其进行了编辑..:(
  • binary = 二进制可执行文件,例如 chromedriver 或 geckodriver

标签: selenium selenium-webdriver webdriver


【解决方案1】:

终于知道了一段时间,如下所示,认为它可能对其他人有用,因此将其发布为自我答案。

作为一名自动化工程师,我们总是要设置浏览器二进制文件的路径,为此,我们首先需要下载一个二进制文件[driver.exe],它允许WebDriver 处理浏览器。另外,这个二进制文件的绝对路径必须设置为JVM属性,如下:

System.setProperty("webdriver.chrome.driver", "你的路径/chromedriver"); System.setProperty("webdriver.gecko.driver", "你的路径/geckodriver");

不仅仅是下载和设置属性来设置二进制路径,还需要随着浏览器版本或 Selenium 版本的变化而经常更改二进制文件。 我找到了这个解决方案并实施了它——就是这样! 现在我不再需要浏览器的 exe 库了! 一个小型 Maven 存储库让生活变得轻松。

它是如何工作的: 在处理 Maven 项目时,您只需要添加一个名为 WebDriverManager 的依赖项。该库将处理您的浏览器版本和驱动程序的所有内容。

为了在 Maven 项目中使用 WebDriverManager,您只需在 pom.xml 中添加以下依赖项:

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

WebDriverManager 实际获取您的浏览器版本并自行下载兼容的浏览器二进制文件,使您可以不间断地运行代码。

现在,您无需设置浏览器二进制文件,只需在浏览器管理器类中添加以下代码行即可。

WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();

你已经完成了! WebDriverManager.chromedriver().setup() 这条线,为你做了所有的魔法:

它检查最新版本的 WebDriver 二进制文件。

如果您的系统上不存在 WebDriver 二进制文件,它会下载它。

它导出 Selenium 所需的 WebDriver Java 环境变量。

参考: https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency

【讨论】:

    【解决方案2】:

    当您说 WebDriver 二进制文件时,我假设您在谈论 WebDriver 绑定或库。如果不将 WebDriver 绑定添加到您的项目中,您实际上无法对 WebDriver 界面做任何事情,就像您无法调用任何浏览器或驱动任何网站一样。您可以手动将它们添加到项目构建路径中,也可以使用任何依赖管理工具(如 Maven)将所有 WebDriver 库添加到您的项目中。然后,您可以使用它们。 您可以只添加独立的服务器文件,它的作用与 WebdDriver 绑定相同。

    我们为每个 Bowser 使用了第三方驱动程序,例如 chrome - chromedriver.exe、firefox - geckodriver.exe ..etc ---这些也称为 WebDriver 二进制文件(主要被称为驱动程序文件)。

    【讨论】:

    • 二进制文件指的是chromedriver/geckodriver/etc
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    相关资源
    最近更新 更多