硒网格开始的会话不超过 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 个会话被触发,
- 节点 1 上的 3 个
- 2 在节点 2 上
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
我是这样设置网格的:
集线器: 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 个会话被触发,
- 节点 1 上的 3 个
- 2 在节点 2 上
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