目前,我正在設置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