介绍 Selenium Manager
分类
大多数人使用 Selenium 的首次体验最终都会收到如下错误消息
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver
system property; for more information, see https://chromedriver.chromium.org/. The latest version can be
downloaded from https://chromedriver.chromium.org/downloads
然后,他们必须在网络上搜索有关如何处理他们下载的驱动程序的说明。
Selenium:现在已包含所有必要组件!
Selenium 项目希望改善用户体验,第一步是帮助所有用户简化他们设置环境的方式。配置浏览器驱动程序多年来一直是用户为了拥有运行 Selenium 的工作环境而需要执行的任务。
设置一次浏览器驱动程序并不那么复杂,但随着浏览器发布周期缩短,现在我们每 4-6 周就会有新的 Chrome/Firefox/Edge 版本,保持浏览器驱动程序与浏览器版本同步的任务不再那么容易了。
Selenium Manager 是一种新工具,可帮助获得开箱即用的 Selenium 工作环境。如果 PATH
上不存在 Chrome、Firefox 和 Edge 的浏览器驱动程序,Selenium Manager 的 Beta 1 将配置它们。
要使用 Selenium 4.6 运行 Selenium 测试,您只需安装 Chrome、Firefox 或 Edge。如果您已安装浏览器驱动程序,则此功能将被忽略。如果您想帮助我们测试它,请删除您的驱动程序或删除您的第三方驱动程序管理器,一切仍应“正常工作”。如果它们不起作用,请提交错误报告。
Selenium Manager 的未来版本最终甚至会在必要时下载浏览器。
受开源和 Selenium 社区的启发
Selenium Manager 并不是一个全新的解决方案。多年来,Selenium 生态系统中出现了多个第三方项目。例如:Java 的 WebDriverManager、Python 的 webdriver-manager、Ruby 的 webdrivers 和 C# 的 WebDriverManager.Net。
所有这些项目都作为 灵感,并清晰地表明社区需要将此功能内置到 Selenium 中。此外,2021 年 1 月进行的调查显示,大多数 Selenium 用户都希望摆脱驱动程序管理问题。另外,驱动程序安装页面是 Selenium 文档中访问量最高的页面。
Selenium Manager 详解
Selenium Manager 是一个用 Rust 开发的 CLI(命令行界面)工具,允许跨平台执行。在其 beta 1 版本中,当在 PATH
上未检测到浏览器驱动程序或未使用第三方驱动程序管理器时,Selenium 绑定会透明地调用 Selenium Manager。
您也可以在没有 Selenium 绑定的情况下使用 Selenium Manager。虽然我们计划在未来进行正式发布,但目前可以在Selenium 存储库中直接找到二进制文件。通过运行以下命令检查不同的参数和选项
$ ./selenium-manager --help
下面可以看到一个快速示例,展示了如何配置 ChromeDriver
$ ./selenium-manager --browser chrome
INFO /home/boni/.cache/selenium/chromedriver/linux64/106.0.5249.61/chromedriver
如果您维护一个基于 WebDriver 的项目并且也想使用 Selenium Manager,请加入我们的社区渠道,我们很乐意为您提供帮助。此外,如果您有兴趣贡献代码,请查看项目的 README 以获取详细说明和信息。
后续步骤
Selenium Manager 仍在开发中,功能会随着每次发布而增加,错误也会得到修复。 然而,作为 Selenium 社区的一员,您对于这个新工具未来的成功至关重要。 请通过我们的 问题跟踪器 报告您的想法或错误,并通过我们的 社区频道 加入讨论。 期待您的反馈!
测试愉快!