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

Selenium运行回归自动化测试报renderer接收消息30秒超时错误如何解决

问题成因
  • 版本适配存在兼容隐患:当前使用的Selenium 3.141.0发布时间较早,对Chrome 94版本的DevTools通信协议兼容性不足;Chrome和Chrome Driver仅大版本匹配,小版本存在差异,长时间运行后容易出现驱动和渲染进程通信断连。
  • 启动参数配置冲突/不合理:配置了重复的--disable-gpu参数,同时存在--start-maximized和固定窗口尺寸的冲突配置;User-Agent设置的Chrome 92版本和实际运行的Chrome 94版本不匹配,可能触发渲染层兼容性异常;高DPI缩放配置也可能导致渲染进程计算负载异常,长时间运行后无响应。
  • 缺少面向长时间运行的容错配置:默认的渲染进程通信超时阈值仅30s,回归测试如果遇到页面资源多、加载慢的场景,很容易触发超时。
解决方案

1. 修正Chrome启动参数

修改后的参数参考如下:

chromeOptions.AddArgument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"); // UA版本和实际Chrome对齐
chromeOptions.AddArgument("--disable-web-security");
chromeOptions.AddArgument("--disable-gpu");
chromeOptions.AddArgument("--start-maximized"); // 和固定window-size配置二选一即可
chromeOptions.AddArgument("--allow-running-insecure-content");
chromeOptions.AddArgument("--no-sandbox");
chromeOptions.AddArgument("--disable-dev-shm-usage"); // 解决共享内存不足导致渲染进程崩溃问题
chromeOptions.AddArgument("--disable-extensions"); // 禁用无关扩展降低渲染进程负载
chromeOptions.AddArgument("--ipc-connection-timeout=120000"); // 延长进程通信超时到120s
// 无特殊高DPI适配需求可暂时移除以下两个配置,验证是否为缩放导致的渲染异常
// chromeOptions.AddArgument("force-device-scale-factor=0.75");
// chromeOptions.AddArgument("high-dpi-support=0.75");
return new ChromeDriver(chromeOptions);

2. 优化版本适配

  • 将Chrome Driver升级到和当前Chrome完全匹配的小版本:94.0.4606.81对应驱动,消除小版本差异带来的兼容性问题
  • 条件允许的话将Selenium升级到4.x版本,对高版本Chrome的通信协议兼容性更好,长时间运行的稳定性提升显著

3. 调整测试运行策略

  • 给单条测试用例设置最长执行阈值,超时后主动销毁当前Chrome进程重建,避免单个进程长时间运行累积内存泄漏导致无响应
  • 每运行3-5条用例后主动清理浏览器缓存、Cookie,避免缓存堆积导致页面加载卡顿触发超时

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:57:04