GGR与Selenoid部署问题:无法在指定Selenoid服务器运行测试
GGR与Selenoid集群部署异常修复方案
方案1(内部文档部署)404/500错误修复
根因
- 接口路径调用错误:GGR的状态查询接口路径为
/wd/hub/status,直接请求/status会返回404 - 非GGR节点Selenoid-UI启动配置错误:selenoid1、selenoid2节点本地没有ggr-ui容器,启动命令中
--link ggr-ui参数会导致容器启动异常 - GGR-UI未配置正确的GGR访问地址,无法正常转发请求到GGR服务
修复步骤
- 修正状态查询请求路径:正确请求格式为
curl http://auto:password@#{ggr_servername}:4445/wd/hub/status - selenoid1、selenoid2节点启动Selenoid-UI时移除
--link ggr-ui参数 - 启动GGR-UI时添加参数指定GGR地址:
--ggr-uri http://#{ggr_servername}:4445/wd/hub
方案2(官方指南部署)任务不分配到工作节点修复
根因
- GGR节点无法解析工作节点主机名:quota配置中使用主机名配置selenoid1节点,selenoid3未配置对应hosts解析,导致selenoid1被标记为不可用
- quota配置错误:大概率误将selenoid3本地的Selenoid节点加入了配额列表,或者selenoid2的权重配置远高于其他节点,导致所有请求落到本地
- GGR启动未配置端口映射,外部请求访问逻辑异常
修复步骤
- 解决主机名解析问题:在selenoid3的
/etc/hosts文件中添加selenoid1、selenoid2的IP与主机名映射,或者直接将quota配置中的节点地址替换为对应服务器的IP - 核查quota配置文件:
- 删除配置中selenoid3本地Selenoid节点的相关配置
- 确认selenoid1、selenoid2的
count权重值配置符合预期,GGR会按权重比例分配请求
- 修正GGR启动命令,添加端口映射参数:
-p 4444:4444 - 验证节点状态:请求
http://#{ggr_servername}:4444/wd/hub/status,确认返回JSON的nodes字段包含selenoid1、selenoid2两个正常可用的节点信息
生效验证
所有配置修改完成后,按顺序重启GGR、GGR-UI、Selenoid-UI服务,重新执行测试用例,确认浏览器容器在selenoid1、selenoid2节点上按预期分配创建。
内容的提问来源于stack exchange,提问作者Karim Narsindani
相关产品推荐
相关产品推荐

