Selenium 4.11 正式发布,支持chrome for testing
Selenium 4.11.0 正式发布了,先来看一下主要特性。
- Chrome DevTools 支持的版本现在是:v113、v114 和 v115(Firefox 仍然对所有版本使用 v85)
- 通过 Selenium Manager 支持 Chrome For Testing(CfT)
- Selenium Manager 现在可以在 PATH 或配置的路径上定位 driver 的二进制文件,检查潜在的不兼容性,并提供更好的警告和错误信息。
- 每晚都会推送 Ruby 和 Java 的构建版本。对其他语言的支持即将推出。
- 在查找窗口句柄时忽略进程 ID 匹配 - Edge 上的 IE 模式。
这里最重要的更新是支持了 Chrome For Testing.
Chrome For Testing
这是 chrome 推出的专门针对测试场景使用的浏览器,为了解决下面一些痛点
chrome 的自动化更新。自动更新:对用户来说很方便,对开发者来说很痛苦,特别是测试同学,应为我们希望(a)在重复的测试运行中获得一致且可重复的结果,但如果浏览器可执行文件或二进制文件在两次运行之间决定自行更新,这会毁了一切。(b)我们想要固定一个特定的浏览器版本,并将该版本号添加到你的源代码仓库中,这样你就可以检出旧的提交和分支,并重新运行测试,以便使用那个时间点的浏览器二进制文件进行测试。基于上面两个原因,自动更新让人欲除之而后快。
下载不到特定版本的 chrome 浏览器。除了自动更新之外,你可能也发现很难找到特定版本的 Chrome 二进制文件。谷歌故意不提供带有版本号的 Chrome 下载,因为用户不应该关心版本号,他们应该尽快更新到最新版本。这对用户来说很好,但对于需要在旧版本的 Chrome 中重现错误报告的开发人员来说很痛苦。这个问题的一个更具体的例子是当你想要使用 ChromeDriver 进行浏览器自动化时。你不仅需要以某种方式下载 Chrome 二进制文件,还需要一个相应版本的 ChromeDriver 二进制文件,以确保这两个二进制文件是兼容的。
在这样的背景下,chrome for testing 应运而生。官方的说法是
为了解决这些问题,Chrome for Testing 是 Chrome 的一个专用版本,针对测试用例进行了优化,不会自动更新,与 Chrome 发布流程集成,每个 Chrome 版本都可用。这个版本的二进制文件尽可能接近常规的 Chrome,同时不会对测试用例产生负面影响。