DesiredCapabilities 'Chrome' > 不适用于 'Selenium Grid'
DesiredCapabilities 'Chrome' > doesn't work with 'Selenium Grid'
DesiredCapabilities 'Chrome' > 不适用于“Selenium Grid”。
- 我有一个正确设置的集线器和一个节点
- 然而,当试图将 Chrome 浏览器指向其中一个节点时,它不起作用。
当前代码:
case "chrome":
if (null == webdriver) {
System.setProperty("webdriver.chrome.driver", Constant.CHROME_DRIVER_DIRECTORY);
DesiredCapabilities capability = DesiredCapabilities.chrome();
capability.setBrowserName("chrome");
capability.setVersion("55.0.2883.87 m");
capability.setPlatform(Platform.WINDOWS);
webdriver = new RemoteWebDriver(new URL("http://172.16.1.48:5555/wd/hub"),capability);
}
break;
异常:
org.openqa.selenium.SessionNotCreatedException: 无法创建新的远程会话。所需功能 = 功能 [{browserName=chrome, version=55.0.2883.87 m, platform=WINDOWS}], 所需功能 = 功能 [{}]
两件事:
- 在节点端,请确保 chromedriver (for chrome browser), geckodriver(for firefox browser) and IEDriverServer(for IE) 都在 PATH 变量中可用并且可以通过打开命令提示符并键入它们的名称来调用。
- 当您执行
DesiredCapabilities capability = DesiredCapabilities.chrome();
时,它会自动适当地设置浏览器名称。所以你不需要通过 capability.setBrowserName("chrome");
再次设置它(所以你可以将其删除)。
- 除非并且直到您通过 nodeConfig json 文件明确设置了节点级别的浏览器版本,否则请删除
capability.setVersion("55.0.2883.87 m");
,因为这会导致您的测试要求可以支持 chrome 55
版本,但是如果您没有在您的节点上指定相同的版本控制,您的网格将拒绝您的新会话请求,声明它无法找到所需的所需功能。
- 根据您的屏幕截图,您的集线器似乎是 运行 在
localhost
上侦听端口 4444
但您的代码显示好像您正在尝试直接连接到节点.所以请将 webdriver = new RemoteWebDriver(new URL("http://172.16.1.48:5555/wd/hub"),capability);
更改为 `webdriver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),capability);
处理完这些项目后,您的问题应该会得到解决。
DesiredCapabilities 'Chrome' > 不适用于“Selenium Grid”。
- 我有一个正确设置的集线器和一个节点
- 然而,当试图将 Chrome 浏览器指向其中一个节点时,它不起作用。
当前代码:
case "chrome":
if (null == webdriver) {
System.setProperty("webdriver.chrome.driver", Constant.CHROME_DRIVER_DIRECTORY);
DesiredCapabilities capability = DesiredCapabilities.chrome();
capability.setBrowserName("chrome");
capability.setVersion("55.0.2883.87 m");
capability.setPlatform(Platform.WINDOWS);
webdriver = new RemoteWebDriver(new URL("http://172.16.1.48:5555/wd/hub"),capability);
}
break;
异常: org.openqa.selenium.SessionNotCreatedException: 无法创建新的远程会话。所需功能 = 功能 [{browserName=chrome, version=55.0.2883.87 m, platform=WINDOWS}], 所需功能 = 功能 [{}]
两件事:
- 在节点端,请确保 chromedriver (for chrome browser), geckodriver(for firefox browser) and IEDriverServer(for IE) 都在 PATH 变量中可用并且可以通过打开命令提示符并键入它们的名称来调用。
- 当您执行
DesiredCapabilities capability = DesiredCapabilities.chrome();
时,它会自动适当地设置浏览器名称。所以你不需要通过capability.setBrowserName("chrome");
再次设置它(所以你可以将其删除)。 - 除非并且直到您通过 nodeConfig json 文件明确设置了节点级别的浏览器版本,否则请删除
capability.setVersion("55.0.2883.87 m");
,因为这会导致您的测试要求可以支持chrome 55
版本,但是如果您没有在您的节点上指定相同的版本控制,您的网格将拒绝您的新会话请求,声明它无法找到所需的所需功能。 - 根据您的屏幕截图,您的集线器似乎是 运行 在
localhost
上侦听端口4444
但您的代码显示好像您正在尝试直接连接到节点.所以请将webdriver = new RemoteWebDriver(new URL("http://172.16.1.48:5555/wd/hub"),capability);
更改为 `webdriver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),capability);
处理完这些项目后,您的问题应该会得到解决。