首页 > 解决方案 > 无法开始新会话。可能的原因是远程服务器地址无效或浏览器启动失败。

问题描述

我正在尝试使用 Selenium Grid 运行一个简单的程序(没有硒网格的先验知识),并且出现如下所示的错误:

线程“主”org.openqa.selenium.remote.UnreachableBrowserException 中的异常:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。构建信息:版本:'未知',修订:'未知',时间:'未知'系统信息:主机:'DEL1-LTC1X3PH2',ip:'192.168.0.101',os.name:'Windows 10',操作系统。拱:'amd64',os.version:'10.0',java.version:'1.8.0_171' 驱动程序信息:driver.version:RemoteWebDriver

下面是我的示例代码:

String URL = "http://www.DemoQA.com";
String Node = "http://192.168.1.164:4444/wd/hub";
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setBrowserName("firefox");
//cap.setPlatform(Platform.WIN10);

driver = new RemoteWebDriver(new URL(Node), cap);

driver.navigate().to(URL);
Thread.sleep(5000);
driver.quit();

有人可以解释为什么会出现这个错误,以及我可以从哪里了解更多关于硒网格的任何参考。

标签: selenium-webdrivergrid

解决方案


出现此错误的原因是您在提供的 URL 上没有使用集线器运行 Selenium Grid。您需要自己启动网格,Selenium 不会像启动单个会话那样为您启动它。您可以使用docker和使用此处docker-compose的说明启动您的网格。

您可以在此处找到有关 Selenium Grid 的更多信息。

此外,而不是使用

DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setBrowserName("firefox");

您可以浓缩为一行并使用

DesiredCapabilities cap = DesiredCapabilities.firefox();

设置您的DesiredCapabilities.


推荐阅读