You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Selenium中适配最新WebDriver版本并解决Chrome测试启动失败问题

问题解决步骤

1. 升级依赖到兼容的最新稳定版本

你当前的依赖版本存在兼容性问题:Selenium 4.14.0、WebDriverManager 5.5.3、Selenium Jupiter 4.3.7之间的版本匹配度不足,尤其是Chrome浏览器更新后,旧版本依赖无法适配最新的ChromeDriver。

建议更新为以下兼容的稳定版本:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.21.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>selenium-jupiter</artifactId>
    <version>4.16.0</version>
    <scope>test</scope>
</dependency>

注:Selenium Jupiter已内置适配的WebDriverManager,无需单独引入该依赖,避免版本冲突

2. 优化browsers.json配置

现有配置格式无误,可添加manage参数明确驱动自动管理逻辑:

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

"manage": true会强制WebDriverManager自动下载与当前Chrome浏览器完全匹配的ChromeDriver,确保版本适配。

3. 验证测试代码的注解使用

确保测试类正确使用Selenium Jupiter的注解,示例如下:

import io.github.bonigarcia.seljup.SeleniumJupiter;
import org.junit.jupiter.api.TestTemplate;
import org.junit.jupiter.api.extension.ExtendWith;
import org.openqa.selenium.chrome.ChromeDriver;

@ExtendWith(SeleniumJupiter.class)
public class ChromeTest {

    @TestTemplate
    void testWithChrome(ChromeDriver driver) {
        // 测试逻辑示例
        driver.get("https://example.com");
    }
}

4. 清理旧驱动缓存(可选)

如果更新依赖后仍有问题,可手动触发WebDriverManager清理旧驱动缓存,确保下载最新版本:

import io.github.bonigarcia.wdm.WebDriverManager;

public class TestSetup {
    static {
        WebDriverManager.chromedriver().clearDriverCache().setup();
    }
}

内容的提问来源于stack exchange,提问作者user16922382

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:01:11