我正在使用工作区。我的代码一瞥如下:
@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 node -hub http://localhost:4444/grid/register
有效地创建了中心和节点。问题是,我能够在本地系统中执行相同的代码段,但不能在我的工作区中执行。我也发现了两个不同的IP。我也尝试用它们创建集线器和节点,但没有结果。
引发的异常是: org.openqa.selenium.WebDriver异常:转发新会话时出错,找不到:功能 {浏览器名称:chrome,平台:WINDOWS,版本:67.0}。
另一个问题: 该函数调用 DesiredCapabilities.setVersion((,它将版本设置为哪个参数,即 Selenium 驱动程序、浏览器或平台?
任何帮助将不胜感激。 谢谢。
尝试在将节点连接到工作区上的中心时执行此命令。 :
我已经在 AWS 工作区上尝试过,它正在工作。
java -Dwebdriver.chrome.driver="C:Usersjk001119DesktopLATEST-SET-UP-GRIDchromedriver.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:Usersjk001119DesktopLATEST-SET-UP-GRIDchromedriver.exe" -Dwebdriver.ie.driver="C:Usersjk001119DesktopLATEST-SET-UP-GRIDIEDriverServer.exe" -Dwebdriver.gecko.driver="C:Usersjk001119DesktopLATEST-SET-UP-GRIDgeckodriver32bit.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"
您可以删除所需功能:
chromeCapabilities.setPlatform(Platform.WINDOWS(;
chromeCapabilities.setVersion("67.0"(;
希望对您有所帮助。