升级到 Selenium Grid 4.0.0 后,Chrome 节点未注册到 Selenium Hub

Aru*_*asi 3 selenium selenium-grid selenium-chromedriver selenium-webdriver docker-compose

我们使用 docker-compose 文件来创建 selenium 网格网络,升级到 selenium 网格版本 4.0.0 后,我们发现网格未注册到节点。

在这种情况下,我们总是收到以下错误。

chrome_1    | 12:18:47.180 INFO [SelfRegisteringRemote$1.run] - Couldn't register this node: The hub is down or not responding: The hub responded with 404
Run Code Online (Sandbox Code Playgroud)

我们尝试恢复到以前的版本,发现它工作正常。您能帮助我们确定为什么它在 Selenium Grid 4 中不起作用吗?是否还需要进行任何额外的设置?我们试图在 Selenium Grid 4 官方页面中查找,但找不到太多。

附上 docker-compose 文件以供参考

version: '3.8'
services:
    selenium:
      image: selenium/hub
      ports:
        - 4444:4444
      environment:
        GRID_MAX_SESSION: 10
    chrome:
      image: selenium/node-chrome-debug
      shm_size: 2gb
      depends_on:
        - selenium
      environment:
        - HUB_HOST=selenium
        - NODE_MAX_INSTANCES=10
        - NODE_MAX_SESSION=10
      ports:
        - 5901:5900
Run Code Online (Sandbox Code Playgroud)

djm*_*nki 5

您需要在以下链接中阅读有关网格所有更改的内容:Selenium Grid Server 的 Docker 映像

基于上述内容的 docker-compose.yml 文件现在将是:

version: '3.8'
services:
    selenium:
      image: selenium/hub
      ports:
        - 4442:4442
        - 4443:4443        
        - 4444:4444
    chrome:
      image: selenium/node-chrome-debug
      shm_size: 2gb
      depends_on:
        - selenium
      environment:
        - SE_EVENT_BUS_HOST=selenium
        - SE_EVENT_BUS_PUBLISH_PORT=4442
        - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
        - SE_NODE_OVERRIDE_MAX_SESSIONS=true
        - SE_NODE_MAX_SESSIONS=10
      ports:
        - 5901:5900
Run Code Online (Sandbox Code Playgroud)

但是,您需要阅读链接中的完整详细信息,以确保您的设置正确