硒网格开始的会话不超过 5 个

selenium grid is not starting more than 5 sessions

我是这样设置网格的:

集线器: iMAC

开始于: java -jar Downloads/selenium-server-standalone-2.52.0.jar -port 4444 -role hub

节点 1: Win8系统

开始于: java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-2.52.0.jar -role webdriver -hub http://192.168.1.103:4444/grid/register -nodeConfig Node1.json

节点 2: Win10系统

开始于: java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-2.52.0.jar -role webdriver -hub http://192.168.1.103:4444/grid/register -nodeConfig Node2.json

json内容如下:

    {
  "capabilities":
      [
        {
          "browserName": "firefox",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "chrome",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "platform": "WINDOWS",
          "browserName": "internet explorer",
          "maxInstances": 1,
          "seleniumProtocol": "WebDriver"
        }
      ],
  "configuration":
  {
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "maxSession": 10,
    "port": 5557,
    "host": ip address of node1,
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": ip address of hub
  }
}

集线器和节点已正确启动。当我 运行 一个 testng 套件在套件 xml 中有 20 个测试时,thread-count="10"

我看到只有 5 个会话被触发,

Expected/Want实现: 应触发 10 个会话,每个节点 5 个。

我用不同版本的独立 selenium 服务器尝试了相同的设置,但没有成功!!!

如果我有任何配置错误,请告诉我。

我无法重现您的问题。这是我的。

集线器开始使用命令:

java -jar selenium-server-standalone-2.53.1.jar -role hub

节点 #1 开始使用命令:

java -jar selenium-server-standalone-2.53.1.jar -role node -nodeConfig nodev2.json

节点 #2 开始使用命令:

java -jar selenium-server-standalone-2.53.1.jar -role node -nodeConfig nodev2.json -port 5556

节点配置文件内容nodev2.json如下:

{
    "capabilities": [
        {
            "browserName": "chrome",
            "maxInstances": 10,
            "seleniumProtocol": "WebDriver"
        }
    ],
    "configuration": {
        "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
        "maxSession": 10
    }
}

此时,我有一个具有 2 个节点的集线器,每个节点在任何给定时间点都可以支持 10 个并发会话。

我现在 运行 下面的 shell 脚本(它会尝试创建 21 个会话)。在第 21 次尝试创建新会话时,脚本将停止而不退出,因为第 21 次会话将进入 Hub 的等待队列。您可以确认打开网格控制台消耗了 20 chrome 个会话:http://localhost:4444/grid/console

shell 脚本如下所示:

#!/bin/bash
counter=1
for number in {1..21}
do
    curl -i \
    -H "Accept: application/json" \
    -X POST -d '{"desiredCapabilities":{"browserName":"chrome"}}' \
    http://localhost:4444/wd/hub/session
    echo "Created session " $counter
    let counter++
done