在我使用 Selenium Web 驱动程序编写 Web 自动化测试的项目中,每次新的 Chrome 更新后我都会遇到版本问题。 Chrome 更新非常频繁,由于版本不兼容,我几乎定期一次又一次收到此错误。我认为 Chrome 稍后会更新当前浏览器的驱动程序,而我的测试在这段时间没有运行。
我收到的错误消息是;
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 122.0.6261.57 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
您对这个问题有什么永久的解决方案建议吗?
我关闭了 Chrome 更新,我希望这会成为未来的解决方案。但是,由于我目前无法找到合适版本的 Maven 插件,因此我的测试无法正常工作。
每次 Chrome 更新时,您都必须确保下载了正确的 Selenium Chrome 驱动程序。 Chrome for Testing Repo 使这一切变得更加容易,它提供了一系列 API 端点,可用于构建基于 Chrome 测试发布数据的自动化脚本。
根据您的设置,这可以通过以下方式实现:
我建议使用此项目中的 Chrome 二进制文件,而不是使用安装了自动更新的
Chrome for Windows
下载器。您还可以存储从该项目下载的二进制文件,例如。 Chrome 和 ChromeDriver 在本地缓存它们,并能够在将来使用 Selenium 生成可重复的测试。
如果您想使用WebdriverManager,您应该将版本更新到最新(5.6.3)
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.6.3</version>
</dependency>
还要确保清除本地缓存:
WebDriverManager.chromedriver().clearDriverCache().setup();