Jenkins环境下Chrome浏览器无法启动问题求助
Jenkins升级后自动化测试用例失败问题排查
问题概述
- 原状态:使用Chromedriver 73版本搭配旧版Jenkins,自动化测试运行正常
- 触发变更:客户将Jenkins升级至2.346.3版本及相关插件后,所有测试用例全部失败
- 已执行排查:将Chromedriver升级至105.0.5195.52版本,匹配当前Linux环境的Chrome 105版本,问题仍未解决
关键信息
控制台报错
session not created: Chrome failed to start: exited normally.
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Chrome版本信息
Google Chrome 105.0.5195.102(正式版本) (64 位)
排查与解决步骤
- 修复文件执行权限
Jenkins升级后可能改变了节点用户权限,给Chrome和Chromedriver添加执行权限:sudo chmod +x /usr/bin/google-chrome sudo chmod +x /path/to/chromedriver - 配置Chrome无头模式及必要参数
Linux环境下必须启用无头模式启动Chrome,测试代码中需添加以下配置:ChromeOptions options = new ChromeOptions(); options.addArguments("--headless=new"); // 适配Chrome 105的无头模式参数 options.addArguments("--no-sandbox"); // 禁用沙箱,规避权限限制 options.addArguments("--disable-dev-shm-usage"); // 解决/dev/shm空间不足问题 options.addArguments("--disable-gpu"); // 禁用GPU加速 - 检查Jenkins插件兼容性
进入Jenkins「插件管理」页面,确认Selenium Plugin、Pipeline等核心插件版本与Jenkins 2.346.3兼容,若存在不兼容插件,回退至对应兼容版本或升级至最新兼容版 - 手动验证Chrome启动状态
在Jenkins节点服务器执行以下命令,确认Chrome能否正常运行:
若命令失败,根据终端报错排查系统依赖缺失问题(如缺少libnss3等库)/usr/bin/google-chrome --headless=new --no-sandbox --disable-dev-shm-usage --dump-dom https://www.google.com - 确认Chromedriver路径配置
检查测试代码中Chromedriver的路径是否正确,或在Jenkins全局工具配置中指定准确的Chromedriver路径,避免路径错误导致会话无法建立
内容的提问来源于stack exchange,提问作者Akshata Jivtode
相关产品推荐
相关产品推荐

