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

Chrome 124更新后Selenium-Java并发多测试致电脑崩溃冻结

解决Chrome v124与Selenium 4.18.1兼容导致的测试冻结崩溃问题

问题场景

  • 环境:JDK11、IntelliJ+Maven、selenium-java 4.18.1
  • 触发情况:Chrome升级至v124后,运行64个测试的XML文件时出现电脑冻结、崩溃;仅运行8-12个测试可正常完成
  • 控制台输出:
    • 错误:timeout: Timed out receiving message from renderer
    • 错误:WARNING: Failed to shutdown Driver Command Executor
    • 版本不匹配警告:WARNING: Unable to find an exact match for CDP version 124, returning the closest version; found: 122; Please update to a Selenium version that supports CDP version 124

解决方案

1. 临时降级Chrome版本

回退到Chrome v123版本(与Selenium 4.18.1支持的CDP版本兼容),避免因CDP版本不匹配导致的渲染器通信异常。

2. 优化测试资源管理

大量测试崩溃的核心原因是资源泄漏或占用过高,可通过以下方式优化:

  • 确保测试后彻底销毁浏览器实例:使用driver.quit()而非driver.close(),保证所有Chrome相关进程被终止:
    @AfterMethod
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
    
  • 限制测试并发数:调整Maven Surefire/Failsafe插件配置,避免同时启动过多浏览器实例耗尽系统资源:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.2.5</version>
        <configuration>
            <forkCount>2</forkCount>
            <reuseForks>false</reuseForks>
        </configuration>
    </plugin>
    
  • 增加JVM内存:在IntelliJ运行配置中添加VM参数:-Xmx2048m -XX:MaxMetaspaceSize=512m,提升测试执行的内存上限。

3. 强制适配ChromeDriver版本

手动指定与Chrome v124匹配的ChromeDriver版本,忽略Selenium的版本警告(部分场景可正常运行):

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver-124");
ChromeOptions options = new ChromeOptions();
WebDriver driver = new ChromeDriver(options);

4. 等待Selenium官方更新

待Selenium发布支持CDP 124的正式版本后,直接升级selenium-java依赖,彻底解决版本兼容问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:13:48