selenium grid的开始时间不超过5次

时间:2017-08-08 20:46:52

标签: automation automated-tests selenium-grid ios-ui-automation

我已完成网格设置,如下所示:

中心: iMAC

开始于: java -jar下载/ 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
  }
}

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

我看到只触发了5个会话,

    节点1上的
  • 3
  • 节点2上的
  • 2

预期/希望实现: 应触发10个会话,每个节点5个会话。

我尝试使用不同版本的selenium server standalone进行相同的设置,但没有运气!!!

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

1 个答案:

答案 0 :(得分:0)

我无法重现您的问题。这就是我所拥有的。

Hub开始使用命令:

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