什么是Browser Binary Manager如何将其用于Selenium

时间:2018-11-13 07:37:24

标签: selenium selenium-webdriver webdriver

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

我们为Bowser的每一个使用了第三方驱动程序,例如chrome-chromedriver.exe,firefox-geckodriver.exe ..etc ---这些也称为WebDriver binarie(通常称为驱动程序文件)。