目前,我正在设置Selenium Grid以在集线器上运行测试套件并在节点上分发这些测试。Selenium Grid 2:本地集线器和2个本地节点
这个想法是让测试在集线器上执行并分布在10个节点上以进一步执行它们。对于初学者和评估网格,我建立了一个本地中心和2个本地节点。
在我的测试类中,我有4个测试,使用RemoteDriver运行测试并将集线器作为URL和配置的功能传递,它会在Node1上执行所有四个测试,并且不会将其分发到Node2。另外,它在Node1上连续运行所有4个测试。有人知道这里可能是错的吗?请找到下面的设置。
集线器配置:
C:\Proto\Selserversidedjars>java
-jar selenium-server-standalone-2.44.0.jar
-role hub -hubConfig DefaultHub.json
节点1种配置:
C:\Proto\Selserversidedjars>java
-jar selenium-server-standalone-2.44.0.jar
-role node
-hub http://localhost:4444/grid/register
节点2配置:
C:\Proto\Selserversidedjars>java
-jar selenium-server-standalone-2.44.0.jar
-role node
-nodeConfig DefaultNode1.json
-port 6666
Defaulthub.json:
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 300000,
"browserTimeout": 0,
"maxSession": 5,
"jettyMaxThreads":-1
}
DefaultNode1.json:
{
"capabilities":
[
{
"browserName": "*firefox",
"maxInstances": 5,
"seleniumProtocol": "Selenium"
},
{
"browserName": "*googlechrome",
"maxInstances": 5,
"seleniumProtocol": "Selenium"
},
{
"browserName": "*iexplore",
"maxInstances": 1,
"seleniumProtocol": "Selenium"
},
{
"browserName": "firefox",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 6666,
"host": ip,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": ip
}
}
这些配置设置之后,现在,我的轮毂上启动4444端口,节点1在5555开始,节点2在6666在我的TestNG进行启动,我想执行4个测试。鉴于我有多个测试在单个类中运行,是否可以将这些测试分布在单个节点上的多个节点或多个实例上?
任何有关“如何在Node1上执行多个实例并在这种情况下向Node2分发测试(假设超过10个测试)”的帮助,我们将不胜感激。
在此先感谢!
感谢您的快速回复!你能解释一下threadsafe驱动启动代码吗? – startedFromTheBottom 2014-12-05 22:01:13
测试套件中使用parallel =“tests”vs parallel =“methods”的区别是什么?我们在每个测试类中都有方法和方法之后有多个测试。 – startedFromTheBottom 2014-12-16 03:50:58
请提出新问题,而不是在评论中 - 帮助人们搜索答案。测试代表xml中的标记,它可以包含任意数量的类,方法等。方法是每个@Test方法 –
2014-12-16 06:12:38