本地正常的Selenium构建在Jenkins上报renderer接收消息超时错误求解
解决方案
这个报错是Selenium调用Chrome浏览器时,在Jenkins无桌面环境下渲染进程超时无法创建会话导致,本地有图形界面环境所以不会触发该问题,可按以下步骤排查修复:
- 给Chrome启动配置添加适配无桌面环境的参数,参考代码示例:
ChromeOptions options = new ChromeOptions(); // 适配无桌面环境核心参数 options.addArguments("--headless"); // Chrome 93版本用该参数即可,96+版本可替换为--headless=new options.addArguments("--disable-gpu"); // 禁用GPU渲染,规避无图形环境下的渲染异常 options.addArguments("--no-sandbox"); // 关闭沙箱校验,Jenkins运行用户默认无沙箱权限 options.addArguments("--disable-dev-shm-usage"); // 解决服务器/dev/shm分区容量不足导致的渲染超时 // 可按需延长页面加载超时阈值 options.setPageLoadTimeout(Duration.ofSeconds(1200));
- 确认Jenkins服务器安装的ChromeDriver版本和Chrome浏览器版本完全匹配,你当前Chrome版本为93.0.4577.63,必须使用同大版本的ChromeDriver v93.x,大版本不匹配会直接触发会话创建失败。
- 检查Jenkins任务的运行资源限制,不要给任务设置过严的CPU、内存上限,资源不足会导致Chrome渲染进程响应超时。
- 确认Jenkins运行任务的用户有Chrome浏览器和ChromeDriver的执行权限,不要用root用户直接启动Chrome进程。
内容的提问来源于stack exchange,提问作者mmhh
相关产品推荐
相关产品推荐

