Chrome Web 驱动程序和 selenium 测试版本问题

问题描述 投票:0回答:2

在我使用 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 插件,因此我的测试无法正常工作。

java google-chrome selenium-webdriver selenium-chromedriver webdrivermanager-java
2个回答
0
投票

每次 Chrome 更新时,您都必须确保下载了正确的 Selenium Chrome 驱动程序。 Chrome for Testing Repo 使这一切变得更加容易,它提供了一系列 API 端点,可用于构建基于 Chrome 测试发布数据的自动化脚本。

根据您的设置,这可以通过以下方式实现:

  1. 调用 Chrome 进行测试端点以查找是否有更新的稳定版本的 Chrome + ChromeDriver 可供安装
  2. 如果比当前安装的 Chrome + Chrome 驱动程序更新,则下载它们
  3. 运行测试。

我建议使用此项目中的 Chrome 二进制文件,而不是使用安装了自动更新的

Chrome for Windows
下载器。您还可以存储从该项目下载的二进制文件,例如。 Chrome 和 ChromeDriver 在本地缓存它们,并能够在将来使用 Selenium 生成可重复的测试。


0
投票

如果您想使用WebdriverManager,您应该将版本更新到最新(5.6.3)

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

还要确保清除本地缓存:

WebDriverManager.chromedriver().clearDriverCache().setup();
© www.soinside.com 2019 - 2024. All rights reserved.