Selenium Grid 4.2.2节点无法连接Hub 反复报注册事件发送错误
Selenium Grid 4.2.2 节点注册失败(发送注册事件报错)排查方案
核心故障原因与修复步骤
按优先级从高到低排查:
- 端口连通性校验
Selenium Grid 4 Hub默认监听3个核心端口,绝大多数注册失败都是端口未放通导致:- 4444:Grid Web控制台/API入口
- 4442:事件发布端口(对应节点
--publish-events配置项) - 4443:事件订阅端口(对应节点
--subscribe-events配置项)
先在节点所在机器执行以下命令校验连通性:
任意端口连接失败的,先在Hub所在服务器配置防火墙/安全组入站规则,对局域网网段放开以上3个TCP端口;如果是本地虚拟机搭建环境,确认网络模式为桥接而非仅主机模式。如果需要显式让Hub监听所有网卡,可使用以下命令启动Hub:telnet {hubIP} 4442 telnet {hubIP} 4443 telnet {hubIP} 4444java -jar selenium-server-4.2.2.jar hub --host 0.0.0.0 - 补全节点启动必填参数
你当前的节点启动命令缺少核心的--hub配置,仅配置事件总线地址会导致节点无法正确完成注册鉴权,修正后的节点启动命令如下:
如果节点机器存在多网卡(同时开VPN、虚拟网卡等场景),追加java -jar selenium-server-4.2.2.jar node --detect-drivers true --hub http://{hubIP}:4444 --publish-events tcp://{hubIP}:4442 --subscribe-events tcp://{hubIP}:4443--host {节点本机局域网IP}参数,避免节点将虚拟网卡IP上报给Hub导致回连失败。 - 版本一致性校验
确认Hub和节点使用的selenium-server-4.2.2.jar包完全一致,禁止出现Hub与节点跨小版本(比如Hub为4.2.2、节点为4.3.0)的情况,Grid 4的事件总线协议对版本匹配要求极高,版本不一致会直接导致事件交互失败。
验证流程
- 启动Hub后,访问
http://{hubIP}:4444,能正常加载Grid控制台即说明Hub启动正常 - 确认3个端口全部连通后,使用修正后的命令启动节点
- 刷新Grid控制台,能看到节点上报的浏览器驱动信息即代表注册成功
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

