多個節點下面執行腳本是我的代碼 -如何在平行使用硒電網
DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.VISTA);
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
driver.manage().window().maximize();
driver.get(url);
我想執行的3個不同的節點
對於開始我使用的命令HUB我的腳本: - Java的罐子硒 - 服務器 - 獨立-2.53.0.jar -role轂-port 4444
和節點
節點1: - Java的罐子硒 - 服務器 - 獨立-2.53.0.jar -role的webdriver -hub http://192.168.1.118:4444/grid/register -port 5556
節點2: - Java的罐子硒 - 服務器 - 獨立-2.53.0.jar -role的webdriver -hub http://192.168.1.118:4444/grid/register -port 5557
節點3: - Java的罐子硒的服務器獨立-2.53.0.jar -role webdriver的-hub http://192.168.1.118:4444/grid/register -port 5558
所有3個節點都在3噸不同的機器所以我的問題是我需要在代碼中提及所有3個節點的IP地址,還是有任何方法可以在所有3臺機器上並行執行腳本?
克里希南,我懷疑。我認爲集線器不會耗盡一個節點的所有瀏覽器,然後轉向第二個節點。我認爲它會向node1的第一個瀏覽器分配第一個請求,然後向node2的第一個瀏覽器分配第一個請求,向node3的第一個瀏覽器分配第三個請求,然後重複該循環。糾正我,如果我錯了。 – Paras
@pArAs顯然,節點分佈的邏輯似乎最近已經改變。作爲提交https://github.com/SeleniumHQ/selenium/commit/3cebf747f844f2a25b2067511b108361f6140b1f的一部分,行爲已更改爲考慮資源利用率,然後將該信息與創建的上次會話的時間戳(如果有兩個節點相同的資源利用率)來決定這一點。所以我不會粗略地說它像一個循環技術,它在節點之後進行新的會話分發,但是在高層次上是的,它可以被調用。 –