当前位置: 首页 > 知识库问答 >
问题:

Selenium Grid 4节点未在集线器中注册

危晨
2023-03-14

我们尝试将selenium节点从一台机器迁移到多台机器,并将其中一半迁移到云。

目前,硒网格的结构如下所示:

  • 该中心位于AWS EC2上
  • office中的Mac迷你节点
  • office中的Windows节点
  • AWS EC2上的2个Linux节点

当我尝试将节点连接到集线器时,节点不会显示在集线器中,并且节点无限向集线器发送注册事件。

集线器4444、4443和4442端口可以直接连接事件和集线器。

当节点发送注册事件时,Hub中会显示以下日志:Node:

java -jar selenium-server-4.1.3.jar node --hub http://admin:admin@my.server.ip.address:4444 --config node.toml
22:00:24.981 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
22:00:24.985 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
22:00:25.154 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://52.14.198.246:4442 and tcp://52.14.198.246:4443
22:00:25.201 INFO [UnboundZmqEventBus.<init>] - Sockets created
22:00:26.202 INFO [UnboundZmqEventBus.<init>] - Event bus ready
22:00:26.499 INFO [NodeServer.createHandlers] - Reporting self as: http://192.168.46.1:5555
22:00:26.723 INFO [NodeOptions.getSessionFactories] - Detected 12 available processors
22:00:26.724 WARN [NodeOptions.getSessionFactories] - Overriding max recommended number of 12 concurrent sessions. Session stability and reliability might suffer!
22:00:26.725 WARN [NodeOptions.getSessionFactories] - One browser session is recommended per available processor. Safari is always limited to 1 session per host.
22:00:26.726 WARN [NodeOptions.getSessionFactories] - Overriding this value for Internet Explorer is not recommended. Issues related to parallel testing with Internet Explored won't be accepted.
22:00:26.726 WARN [NodeOptions.getSessionFactories] - Double check if enabling 'override-max-sessions' is really needed
22:00:26.764 INFO [NodeOptions.report] - Adding Chrome for {"browserName": "chrome","se:webDriverExecutable": "D:\\selenium\\chromedriver.exe","platformName": "WIN10"} 12 times
22:00:26.774 INFO [Node.<init>] - Binding additional locator mechanisms: relative, name, id
22:00:27.169 INFO [NodeServer$1.start] - Starting registration process for Node http://192.168.46.1:5555
22:00:27.170 INFO [NodeServer.execute] - Started Selenium node 4.1.3 (revision 7b1ebf28ef): http://192.168.46.1:5555
22:00:27.181 INFO [NodeServer$1.lambda$start$1] - Sending registration event...

节点。汤姆

[node]
override-max-session = true
max-session = 5

中心:

java -jar selenium-server-4.1.3.jar hub --config hub.toml
18:59:15.183 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
18:59:15.189 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
18:59:15.352 INFO [BoundZmqEventBus.<init>] - XPUB binding to [binding to tcp://*:4442, advertising as tcp://172.31.45.214:4442], XSUB binding to [binding to tcp://*:4443, advertising as tcp://172.31.45.214:4443]
18:59:15.412 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://172.31.45.214:4442 and tcp://172.31.45.214:4443
18:59:15.449 INFO [UnboundZmqEventBus.<init>] - Sockets created
18:59:16.450 INFO [UnboundZmqEventBus.<init>] - Event bus ready
18:59:17.267 INFO [Hub.createHandlers] - Requiring authentication to connect
18:59:17.420 INFO [Hub.execute] - Started Selenium Hub 4.1.3 (revision 7b1ebf28ef): http://172.31.45.214:4444
19:00:24.011 INFO [Node.<init>] - Binding additional locator mechanisms: id, name, relative
19:00:34.785 INFO [Node.<init>] - Binding additional locator mechanisms: relative, name, id

中心汤姆

[router]
username = admin
password = admin

我在配置中遗漏了什么?

更新:

当我在调试模式下运行时,我看到节点的连接超时:

13:45:22.386 DEBUG [LocalDistributor.add] - Exception while adding Node http://52.14.57.227:5555
java.io.UncheckedIOException: java.net.ConnectException: connection timed out: /52.14.57.227:5555
        at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:80)
        at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
        at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
        at org.openqa.selenium.remote.http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:51)
        at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
        at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
        at org.openqa.selenium.remote.http.netty.NettyClient.execute(NettyClient.java:124)
        at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
        at org.openqa.selenium.grid.node.remote.RemoteNode.getStatus(RemoteNode.java:208)
        at org.openqa.selenium.grid.distributor.local.LocalDistributor.add(LocalDistributor.java:305)
        at org.openqa.selenium.grid.distributor.local.LocalDistributor.register(LocalDistributor.java:291)
        at org.openqa.selenium.events.EventListener.accept(EventListener.java:43)
        at org.openqa.selenium.events.EventListener.accept(EventListener.java:25)
        at org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable.lambda$notifyListeners$2(UnboundZmqEventBus.java:301)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.net.ConnectException: connection timed out: /52.14.57.227:5555
        at org.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:179)
        at org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:108)
        at org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28)
        at org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:571)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:550)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)
        at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)
        at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609)
        at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:262)
        at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
        at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        ... 1 more
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /52.14.57.227:5555
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:261)
        ... 9 more
13:45:22.386 FINEST [LoggingHandler.channelUnregistered] - [id: 0xef015bd6] UNREGISTERED

共有1个答案

白昊乾
2023-03-14

当我在--log-level FINEST中运行集线器时,我发现集线器无法通过端口5555连接到节点。

解决方案是打开机器上的端口5555:

  • 使用安全组的AWS EC2
  • 使用防火墙入站规则的Windows和macOS
 类似资料:
  • 我正在为我的自动化套件使用Selenium Hub和Node设置。到目前为止,我正在使用以下命令在远程机器上手动启动集线器和节点。 java-jarselenium-server-standalone-3.141.59.jar-角色集线器 java-Dwebdriver.chrome.driver=chromedriver.exe-jarselenium-server-standalone-3.1

  • 我准备好为此拔掉头发了。我正在开发游戏图形用户界面,它有一个由网格单元组成的地图。 单元格网格由StackPane组成,然后由ImageView或Shapes等组成的几个层组成。 整个内容包含在GridPane中,GridPane包含BorderPane的中心元素; 我不能在底层场景中添加鼠标事件,因为所有节点都会得到它- 下面是创建堆栈的代码: 这是设置EventHandler的代码- 谢谢你的

  • 我在试着运行硒网格, 详细信息:win 7,selenium 2.4.5,selenium-server-独立-2.46.0,java 8,我得到一个错误: 无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。生成信息:版本:'2.45。0',修订版:'5017cb8e7ca8e37638dc3091b2440b90a1d8686f',时间:'2015-02-27 09:10:26'系

  • 问题内容: 好的,这应该不难,我试图在Elasticsearch集群中运行2个节点,并在尝试启动node-1(作为主节点的node-2已经启动)时遇到异常。对两个实例都使用elasticsearch v 5.0.0 例外: 无法将加入请求发送到主节点,原因是RemoteTransportException无法添加找到的具有相同ID但却是不同节点实例的现有节点的节点] 节点1配置: 节点名称:SAN

  • 我正在尝试将两台vm机器相互连接(在win10上同时运行)。我下载了java JDK 15和 selenium-server-4.0.0-alpha-6.jar 我正在运行我的集线器,复制我在那里得到的TCP URL(tcp://hub:4442/3)到我的第二台机器。 但在运行node命令后,我收到了以下消息: 开始节点ID X的注册过程 一切都悬而未决。。。我试过使用Test NetConne

  • 问题内容: 我需要一个MySQL查询,该查询可在一个嵌套集中移动一个节点及其所有子节点。我找到了这个站点,但是该函数似乎非常不合逻辑- 没有或没有嵌套的集合模型,并且代码本身仅比所需的更长。我在表格中仅有的额外一列是。 我不能只删除并再次添加该节点,因为它将丢失其ID。 问题答案: 我知道,这个主题已经很老了,但是无论如何仍然没有答案。我是从Google来到这里的,没有找到这个问题的直接答案。 因