如何在 Selenium 上使用最新的 WebDriver 版本保持领先

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

自从昨天浏览器更新以来,我的测试将无法开始,我收到消息:

There was an error creating WebDriver object for Chrome

我将 Selenium Jupiter 与 @TestTemplate 一起使用,我的 browsers.json 看起来:

{
  "browsers": [
    [
      {
        "type": "chrome",
        "version": "latest"
      }
    ]
  ]
}

这是我的依赖项:

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>4.14.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.github.bonigarcia</groupId>
      <artifactId>webdrivermanager</artifactId>
      <version>5.5.3</version>
    </dependency>
    <dependency>
      <groupId>io.github.bonigarcia</groupId>
      <artifactId>selenium-jupiter</artifactId>
      <version>4.3.7</version>
      <scope>test</scope>
    </dependency>

我认为 webdrivermanager 可以解决该版本问题。 我对 Selenium 的体验并不是那么丰富,因为我只使用了几周。

有没有办法跟上最新的浏览器版本?

java selenium-webdriver webdriver selenium-jupiter
1个回答
0
投票

您正在使用 WebDriverManager,它通常应该处理浏览器驱动程序兼容性。但有时问题仍然会发生,尤其是在浏览器更新之后。以下是一些调试和解决步骤:

  1. 检查 Chrome 版本:确保您本地的 Chrome 版本与正在下载的 ChromeDriver 匹配。如果没有,请更新 Chrome。

  2. 强制更新WebDriverManager:在初始化WebDriver之前,调用:

    WebDriverManager.chromedriver().forceDownload().setup();
    

    这将强制 WebDriverManager 下载最新版本。

  3. 日志:查看 WebDriverManager 日志以识别正在下载的内容。您可以通过将以下内容添加到您的

    log4j.properties
    或同等内容来启用日志记录:

    log4j.logger.io.github.bonigarcia=DEBUG
    
  4. 手动下载:作为最后的手段,手动下载兼容的ChromeDriver并设置其路径:

    System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
    
  5. 依赖项:将 WebDriverManager 和 Selenium-Jupiter 更新到您的

    pom.xml
    中的最新版本。

如果您已尝试所有这些方法并且问题仍然存在,则这可能是一个错误,报告它会很有帮助。

请记住,如果您在 CI/CD 环境中运行测试,请确保同时更新 Chrome 和 ChromeDriver。

© www.soinside.com 2019 - 2024. All rights reserved.