当我通过 Selenium Grid 使用 TestNG 并行执行 5 个以上的测试时,只有 5 个同时执行。其余的都在排队。我已经配置了我的节点,使其支持 7 个 Chrome 实例。为什么剩下的 2 个实例没有得到利用?
这是来自 Grid Console 的节点屏幕截图:
节点配置截图:
节点启动代码:
java -jar selenium-server-standalone-3.8.1.jar -role node -hub http://localhost:4444/grid/register -port 5556 -nodeConfig nodeConfig.json
节点配置 JSON:
{
"capabilities": [
{
"browserName": "chrome",
"platform": "WIN10",
"maxInstances": 7
}
],
"hub": "http://selenium-hub-host:4444"
}
TestNG XML(我使用并行并行运行所有 7 个测试):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="myTestSuit" parallel="tests" thread-count="10">
<test name="myTest1">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest2">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest3">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest4">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest5">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest6">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
<test name="myTest7">
<parameter name="browser" value="Chrome"></parameter>
<classes>
<class name="testClass1"></class>
<class name="testClass2"></class>
<class name="testClass3"></class>
</classes>
</test>
</suite>
(我还尝试在我的系统中创建两个节点。每个节点都支持 5 个 Chrome,所以我总共有 10 个 Chrome 实例。在这种情况下,也只有 5 个可用实例被利用)。