Jenkins运行Selenium Maven项目失败,是否需在Linux节点安装Chrome浏览器?
结论
必须在Jenkins所在的Linux机器上额外安装Chrome浏览器
chromedriver只是Chrome浏览器的驱动代理程序,本身不包含浏览器内核,仅负责对接Selenium指令和调度Chrome浏览器执行操作,没有浏览器本体的情况下chromedriver无法正常启动。你遇到的libnss3.so加载失败报错,本质是Chrome浏览器运行所需的系统依赖缺失,仅引入chromedriver依赖不会自动安装这些浏览器运行依赖。
具体解决流程
- 首先安装和pom中引入的chromedriver大版本完全一致的Chrome浏览器,版本不匹配会触发兼容性问题导致启动失败。
- 对应不同发行版的系统依赖补全命令:
- Debian/Ubuntu系:
sudo apt install -y libnss3 libgconf-2-4 libfontconfig1 - CentOS/RHEL系:
sudo yum install -y nss libX11 GConf2 fontconfig
- Debian/Ubuntu系:
- 安装完成后执行
google-chrome --version验证安装是否成功,确认版本和chromedriver匹配。
常见场景补充
- 如果Jenkins采用Docker容器部署,需要进入Jenkins容器内部安装Chrome及相关依赖,仅在宿主机安装的程序无法被容器内的任务调用。
- 无桌面的Linux服务器运行Selenium用例时,需要给Chrome配置启动参数:
--headless=new、--no-sandbox、--disable-dev-shm-usage,避免浏览器因缺少图形环境启动失败。
内容的提问来源于stack exchange,提问作者code109
相关产品推荐
相关产品推荐

