0

将节点http://169.254.80.80:5566标记为关闭:2 次尝试无法到达该节点。

我认为这可能是安全/端口问题,所以我打开了端口 4444 和 5566,并告诉防火墙允许来自 selenium-server-standalone-3.141.59.jar 的连接。但是,Selenium Grid 集线器仍然“将节点标记为关闭:2 次尝试无法到达该节点”。

selenium-server-standalone-3.141.59.jar 和 selenium-server-standalone-3.12.0.jar 都会发生这种情况。

问题:为什么 Selenium Grid Hub 会产生“将节点标记为关闭:2 次尝试无法到达节点”?我在同一台机器上同时运行集线器和节点。我猜这没问题。

我确实找到了一个类似的帖子,但不完全相同的错误消息,答案看起来像是一个错字。 类似的堆栈溢出帖子

图 1:来自 Selenium Grid Hub 和 Selenium 服务器节点的消息 selenium 网格集线器和节点的输出

图 2:允许与端口 4444 的连接 允许与端口 4444 的连接

图 3:允许 Selenium Server 通过防火墙 允许 Selenium Server 通过防火墙

图 4:允许与端口 5566 的连接 在此处输入图像描述

4

2 回答 2

2

更多关于您的用例和您使用的命令以及文本格式的跟踪日志将有助于以更好的方式分析问题。但是,当我通过以下命令启动Selenium Grid Hub时,在我的本地主机(Windows 10)上:

C:\selenium-server-standalone>java -jar selenium-server-standalone-3.141.59.jar -role hub

生成的日志消息如下:

02:40:05.385 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
02:40:06.025 INFO [GridLauncherV3.lambda$buildLaunchers$5] - Launching Selenium Grid hub on port 4444
2019-08-03 02:40:07.963:INFO::main: Logging initialized @4684ms to org.seleniumhq.jetty9.util.log.StdErrLog
02:40:10.538 INFO [Hub.start] - Selenium Grid hub is up and running
02:40:10.554 INFO [Hub.start] - Nodes should register to http://192.168.43.186:4444/grid/register/
02:40:10.554 INFO [Hub.start] - Clients should connect to http://192.168.43.186:4444/wd/hub

因此,Selenium Grid 节点应注册到http://192.168.43.186:4444/grid/register/(而不是http://localhost:4444/grid/register/),如下所示:

C:\selenium-server-standalone>java -jar selenium-server-standalone-3.141.59.jar -role node -port 5566 -hub http://192.168.43.186:4444/grid/register
02:45:55.856 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
02:45:56.216 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Launching a Selenium Grid node on port 5566
2019-08-03 02:45:57.638:INFO::main: Logging initialized @2866ms to org.seleniumhq.jetty9.util.log.StdErrLog             
02:45:58.747 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
02:45:59.153 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 5566
02:45:59.153 INFO [GridLauncherV3.lambda$buildLaunchers$7] - Selenium Grid node is up and ready to register to the hub
02:45:59.669 INFO [SelfRegisteringRemote$1.run] - Starting auto registration thread. Will try to register every 5000 ms.
02:46:01.731 INFO [SelfRegisteringRemote.registerToHub] - Registering the node to the hub: http://192.168.43.186:4444/grid/register
02:46:02.278 INFO [SelfRegisteringRemote.registerToHub] - The node is registered to the hub and ready to use

以下日志消息由Selenium Grid Hub生成:

02:46:02.278 INFO [DefaultGridRegistry.add] - Registered a node http://192.168.43.186:5566
于 2019-08-02T21:51:58.633 回答
1

我使用的是旧版本的 Selenium Server。

Selenium 项目/产品的最新版本可在此处找到: Selenium 项目的最新版本

最终能够在这里找到关于该问题的类似帖子: node not registering in early versions of Selenium Server


完整修复的描述(对我有用)

  1. 将 Selenium 升级到 3.5。注意-1:不要依赖 VS 中的 Nuget 包管理器来告诉你最新的包是什么。Nuget 包管理器 (UI) 认为 3.141 是最新的,而实际上它是 3.5。注意-2:看起来 DebanjanB 能够毫无问题地连接 1.141 Selenium 服务器,因此不需要升级到 3.5。
  2. 从 Cisco AnyConnect 断开
  3. 运行集线器:打开 cmd 并键入 java -jar selenium-server-standalone-3.5.0.jar -role hub
  4. 运行节点:打开 cmd 并输入 java -Dwebdriver.chrome.driver=C:\RepoTests\WebDrivers\chromedriver.exe -Dwebdriver.gecko.driver=C:\RepoTests\WebDrivers\geckodriver.exe -Dwebdriver.edge.driver =C:\RepoTests\WebDrivers\MicrosoftWebDriver.exe -jar selenium-server-standalone-3.5.0.jar -role node -hub http://localhost:4444/grid/register -browser "browserName=chrome,version=66.0 ,maxInstances=5,seleniumProtocol=WebDriver" -browser "browserName=firefox,version=60.0.1,maxInstances=5,seleniumProtocol=WebDriver" -browser "browserName=MicrosoftEdge,version=10.0,maxInstances=5,seleniumProtocol=WebDriver"

注 1:我不必创建任何入站或出站防火墙规则(如原始问题中所述),因为节点使用“ http://localhost:4444/ ..”连接到集线器。

注 2:无法使用 DebanjanB 建议的实际 IP 地址让节点连接到集线器。最终需要弄清楚这一点。如果弄清楚会发布。

于 2019-08-02T21:27:55.440 回答