Docker Compose部署Selenium Grid节点无法设置超2个会话求助
解决Selenium Grid Chrome节点会话数限制问题
你遇到的问题是因为selenium/node-chrome镜像默认限制了单浏览器驱动的最大实例数,仅靠SE_NODE_MAX_SESSIONS无法突破2个会话的上限。
关键原因
镜像默认设置了SE_NODE_MAX_INSTANCES=2,这个参数控制ChromeDriver的最大并发实例数量,会限制SE_NODE_MAX_SESSIONS的生效——即使你把会话数设为3,驱动实例最多只能跑2个,实际可用会话还是2个。
修改后的docker-compose.yml配置
给Chrome节点添加SE_NODE_MAX_INSTANCES环境变量,数值和SE_NODE_MAX_SESSIONS保持一致(或更高):
version: "3" services: chrome: image: selenium/node-chrome:latest shm_size: 10gb depends_on: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - VNC_NO_PASSWORD=1 - SE_NODE_MAX_SESSIONS=3 - SE_NODE_MAX_INSTANCES=3 # 新增该参数 - SE_NODE_GRID_URL=http://selenium-hub:4444 ports: - "5900-5910:5900-5910" selenium-hub: image: selenium/hub:latest container_name: selenium-hub ports: - "4442:4442" - "4443:4443" - "4444:4444"
验证配置是否生效
启动容器后,访问Selenium Hub控制台页面:http://localhost:4444/ui,找到Chrome节点详情,查看maxSessions和maxInstances是否都显示为你设置的数值(比如3)。此时提交测试会话,就能同时运行对应数量的Chrome实例了。
内容的提问来源于stack exchange,提问作者santiago botero
相关产品推荐
相关产品推荐

