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

Selenium Grid节点Chrome实例无法充分利用的问题排查

解决Selenium Grid+TestNG并行测试仅5个实例运行的问题

嘿,我来帮你搞定这个并行执行的瓶颈问题!看了你的配置,核心问题应该是Selenium Hub和节点的并发会话限制没设置对,导致你配置的7个Chrome实例没法全部用上,具体原因和解决方案如下:

1. 核心原因:Hub默认的并发会话限制

Selenium Grid的Hub默认有个maxSession参数,默认值是5——这意味着不管你节点能支持多少实例,Hub最多只允许同时运行5个测试会话。这就是你看到的即使节点配置了7个实例,也只能跑5个的根本原因,哪怕加了第二个节点,Hub的默认限制还是会把并发数卡在5。

2. 具体解决方案

步骤1:修改Hub的启动参数,提升并发上限

重启Hub的时候,加上-maxSession参数,设置成你需要的并发数(比如7,或者更大的数值):

java -jar selenium-server-standalone-3.8.1.jar -role hub -maxSession 7

步骤2:调整节点配置,确保节点能支持足够的并发

你的节点配置里只设置了浏览器的maxInstances,但没设置节点级的maxSession——这个参数控制节点允许同时运行的总会话数,默认值可能也是5,会挡住你配置的7个实例。修改nodeConfig.json,添加节点级的maxSession:

{
  "capabilities": [
    {
      "browserName": "chrome",
      "platform": "WIN10",
      "maxInstances": 7
    }
  ],
  "hub": "http://selenium-hub-host:4444",
  "maxSession": 7
}

修改后重启节点,这样节点本身就允许同时跑7个Chrome实例了。

步骤3:验证配置是否生效

访问Hub的控制台页面(http://localhost:4444/grid/console),查看每个节点的详情,确认maxSession和maxInstances是否和你配置的一致,确保配置已经生效。

3. 额外说明(多节点场景)

如果是用两个各支持5个Chrome的节点,那Hub的maxSession要设置成至少10,每个节点的maxSession设为5,这样就能同时跑满10个测试会话,不会再出现队列等待的情况。

按照这几步调整后,你的7个测试应该就能同时运行,充分利用你配置的所有Chrome实例了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 08:37:38