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

Jenkins/Gradle运行Selenium自动化测试时Chrome崩溃问题求助

解决Jenkins/Gradle运行Selenium测试时Chrome崩溃的问题

我之前也碰到过几乎一模一样的问题——IDEA里跑测试完全正常,但一放到Jenkins或者直接用gradle test就触发org.openqa.selenium.SessionNotCreatedException: session not created exception from tab crashed错误。结合你给出的版本信息,整理几个最可能的原因和对应的解决办法:

1. 缺少无头模式配置(最常见原因)

IDEA运行时是在有桌面环境的用户会话里,Chrome可以正常启动GUI界面,但Jenkins通常运行在无桌面的系统会话中(尤其是Linux服务器),直接启动Chrome会因为没有显示输出而崩溃。

解决办法:给Chrome添加无头模式参数,同时加上几个针对无桌面环境的必备配置:

ChromeOptions options = new ChromeOptions();
// 启用无头模式
options.addArguments("--headless");
// 禁用沙箱(Linux下非root用户运行Chrome需要这个参数)
options.addArguments("--no-sandbox");
// 解决/dev/shm内存不足的问题
options.addArguments("--disable-dev-shm-usage");
// 禁用GPU加速(无头模式下不需要)
options.addArguments("--disable-gpu");

WebDriver driver = new ChromeDriver(options);

2. Chrome二进制文件路径未指定

Jenkins运行的系统用户(比如jenkins用户)可能找不到Chrome的安装路径,尤其是你手动安装Chrome而非通过系统包管理工具的情况。

解决办法:在ChromeOptions中指定Chrome的绝对路径:

options.setBinary("/path/to/your/chrome/binary");
// 比如Linux下可能是 /usr/bin/google-chrome,Windows下是 C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe

3. Gradle运行时的系统属性配置问题

IDEA会自动帮你传递webdriver.chrome.driver等系统属性,但Gradle命令行或Jenkins构建时可能没正确配置这个参数,导致找不到ChromeDriver。

解决办法:在build.gradle中添加测试任务的系统属性配置:

test {
    systemProperty "webdriver.chrome.driver", "/path/to/your/chromedriver"
    // 如果用WebDriverManager自动管理驱动,可以不用手动指定路径
}

另外推荐使用WebDriverManager库,它会自动下载匹配当前Chrome版本的ChromeDriver,避免手动版本匹配出错,只需在依赖中添加:

testImplementation 'io.github.bonigarcia:webdrivermanager:3.8.1' // 对应Selenium 3.x的版本

然后在测试代码中初始化:

WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver(options);

4. 服务器/容器内存不足

Chrome启动时需要一定的内存,如果Jenkins所在服务器或者Docker容器内存不足,也会导致启动后崩溃。

解决办法:

  • 检查服务器内存使用情况,释放不必要的进程增加可用内存
  • 如果是Docker运行Jenkins,增加容器的内存分配(比如docker run时加--memory=2g参数)

5. Jenkins用户权限问题

Jenkins运行的用户可能没有访问Chrome或ChromeDriver的权限,或者无法创建临时文件。

解决办法:

  • 确保ChromeDriver文件有可执行权限:chmod +x /path/to/chromedriver
  • 给Jenkins用户赋予Chrome安装目录的访问权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:29:28