我正在使用工作区。我的代码一览如下:
@BeforeMethod:
driver= gridChrome();
WebDriver gridChrome() {
System.setProperty("webdriver.chrome.driver","/absolute/path/to/chrome/driver");
DesiredCapabilities chromeCapabilities = DesiredCapabilities.chrome();
chromeCapabilities.setPlatform(Platform.WINDOWS);
chromeCapabilities.setVersion("67.0");
return (new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), chromeCapabilities));
}
工作区信息:
操作系统:Windows Server 2008 R2
本地IP:172.xxx.xxx.xxx
集线器:
(selenium-server-jar-directory)> java -jar selenium-server-standalone-3.13.0.jar -role hub
(显示的IP为:198.xxx.xxx.xxx)
节点: (selenium-server-jar-directory)> java -jar selenium-server-standalone-3.13.0.jar -role节点-hub http://localhost:4444/grid/register
有效创建集线器和节点。问题是,我能够在本地系统中执行相同的代码,但不能在工作区中执行。我也找到两个不同的IP。我也尝试使用它们创建集线器和节点,但没有成功。
抛出的异常是: org.openqa.selenium.WebDriverException:转发新会话时出错:功能{browserName:chrome,平台:WINDOWS,版本:67.0}。
另一个问题: 函数调用DesiredCapabilities.setVersion(),将其设置为哪个参数的版本,即Selenium Driver或Browser或Platform?
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:0)
尝试将节点连接到工作空间上的集线器时执行此命令。 :
我已经在AWS工作区上对其进行了尝试,并且可以正常工作。
java -Dwebdriver.chrome.driver="C:\Users\jk001119\Desktop\LATEST-SET-UP-GRID\chromedriver.exe" -jar selenium-server-standalone-3.3.1.jar -role node -hub http://192.168.11.28:4444/grid/register -browser "browserName=chrome,version=56,platform=WINDOWS"
要连接不同的浏览器集,可以使用如下命令:
java -Dwebdriver.chrome.driver="C:\Users\jk001119\Desktop\LATEST-SET-UP-GRID\chromedriver.exe" -Dwebdriver.ie.driver="C:\Users\jk001119\Desktop\LATEST-SET-UP-GRID\IEDriverServer.exe" -Dwebdriver.gecko.driver="C:\Users\jk001119\Desktop\LATEST-SET-UP-GRID\geckodriver32bit.exe" -jar selenium-server-standalone-3.3.1.jar -role node -hub http://192.168.11.28:4444/grid/register -browser "browserName=chrome,version=56,platform=WINDOWS", -browser "browserName=internet explorer,version=11,platform=WINDOWS", -browser "browserName=firefox,version=52,paltform=WINDOWS"
您可以删除DesiredCapabilities:
chromeCapabilities.setPlatform(Platform.WINDOWS);
chromeCapabilities.setVersion(“ 67.0”);
希望它对您有帮助。