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

首次启动Selenium电网,我的远程机器拒绝连接

刘焱
2023-03-14

我第一次尝试设置Selenium网格。我能够运行中心和本地节点。一旦我尝试在虚拟机上运行一个节点,就会出现一个错误:

信息-无法注册此节点:发送注册请求时出错:连接到:4445[/]失败:连接超时:连接

INFO-无法注册此节点:this集线器关闭或没有响应:连接到:4445[/]失败:连接超时:连接

我使用以下工具运行了该中心:

java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4445

具有

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://localhost:4445/grid/register/

并尝试使用

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<local machine ip>:4445/grid/register/

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<host ip>:4445/grid/register/

我从集线器终端会话中的消息中获取:

12: 24:55.593信息-节点应注册到http://:4445/grid/register/

我在两侧(集线器和节点)防火墙中打开了端口4444和4445(以防万一)。

任何人都知道为什么它可能不起作用,我可以做些什么来帮助新节点连接我的集线器?

谢谢

在Murthi第一次评论后编辑:我尝试运行这两个:

java -jar selenium-server-standalone-3.4.0.jar -role node -hub <hub-machine-ip>

以及:

java -jar selenium-server-standalone-3.4.0.jar -role node -hub <hub-machine-ip> -hubHost <host-ip>

在这两种情况下,cmd都列出了Selenium Grid的所有选项。

我也试着跑:

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<hub-machine-ip>:4445/grid/register -host <host-ip>

我回到了之前收到的连接超时错误

编辑25/7:集线器操作系统是Mac OS x Yosemite节点操作系统是Windows 7 SP1我从集线器机器运行集线器创建,从节点机器运行节点创建。我收到的错误总是相同的:INFO-无法注册此节点:集线器已关闭或没有响应:连接到:4444[/]失败:连接超时:连接我在命令行终端、节点机器上看到此消息

共有2个答案

濮阳鸿祯
2023-03-14

您可以在本地计算机中使用

java -jar selenium-server-standalone-3.4.0.jar -role hub 

虚拟机上的节点使用

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<host ip>:4444/grid/register/ 

在vm节点上启用TCP/UDP端口转发4444,在集线器机器上启用5555。这可能对你有用。

高修筠
2023-03-14

当您启动一个节点时,Selenium会尝试找出您的IP地址,然后使用该地址将自己注册到集线器。在某些情况下,您的机器可能有两个IP地址(一个暴露,一个未暴露),selenium可能会找到一个未暴露的IP地址,并使用它来注册自身。当这种情况发生时,节点会向中心发送注册请求,注册也会成功,但其一侧的中心会尝试定期轮询节点,以检查节点是否处于活动状态,如果不是,则会将节点标记为不存在并将其删除。当集线器尝试ping节点时,它将使用节点标识自己的id(id通常使用节点发送的节点的IP和端口形成)。

以下是你可以尝试做的事情来找出瓶颈到底在哪里。

首先,我们需要找出在您的节点上是否确实存在导致灾难的端口(或)IP问题。为此,在节点计算机上,使用以下命令启动节点

javaselenium-server-standalone-3.4.0.jar节点

这衍生了一个Selenium节点,该节点侦听5555端口,并尝试将自己注册到运行在本地主机上并侦听端口4444的集线器。你会在屏幕上看到很多故障(暂时忽略它们)。

现在从不同的机器尝试触发HTTPGET(通过wget或通过curl或通过在Web浏览器上打开以下URL)

http://

您应该下载selenium徽标(或在浏览器上看到)。

如果您遇到问题,在这一步中,它基本上会确认您存在IP问题(或)端口问题。

要想知道它是哪一个,首先尝试切换到不同的端口,例如8080,并使用命令在其上启动节点

java-jarselenium-server-standalone-3.4.0.jar-角色节点-端口8080

并尝试点击超文本传输协议://

如果您现在看到该徽标,则表示确实是5555被阻止在您的节点计算机上进行传入流量(您需要打开它)

如果您仍然没有看到徽标,那么您很可能面临内部IP/外部IP问题。为了解决这个问题,请找出暴露在外面的盒子的IP是多少,并在启动节点时通过主机参数提供。

另一种选择是退回到让集线器和节点都在8080端口上运行(因为它们在不同的机器上运行,所以不应该有任何端口争用)。我之所以建议使用8080,是因为这个端口通常不会被阻塞,因为这是默认的Http端口。

希望这有助于解决您的问题。

 类似资料:
  • 我在unbundu机器中使用JMeter设置了一个分布式负载测试环境。 - - - - 系统上的防火墙已关闭 -所有计划的主和从都在同一个子网中 -JMeter 服务器可以访问目标。 -所有系统上的JMeter版本相同(版本2.3.4)。 1) 尝试通过ubundu终端从主设备ping到从设备,反之亦然。它正在发生。。 2) 在客户端(主)jmeter 属性中添加了以下内容: 3) 在服务器(从属

  • 问题内容: 每当我尝试启动eclipse调试(用于服务器端代码)时,我都会收到以下错误 无法连接到远程VM。 拒绝连接。 可能是什么问题?我已经尝试了网络上的大多数解决方案,但是都没有解决我的问题。谁能帮我解决这个问题?提前谢谢.. 问题答案: 您正在使用哪个服务器? 就像已经说过的: 在调试配置中,您必须定义服务器的正确端口(GF:9009 / Tomcat:8000) 您必须将服务器的JVM属

  • 从我的spring-boot应用程序容器连接到Rabbitmq时,我遇到了一个错误。 我在docker compose文件中附加了两个docker容器(Rabbitmq和spring-boot应用程序)和网桥网络: 当我的Spring Boot应用程序尝试连接到后者时,Rabbitmq拒绝了连接。日志下方: 当我在我的spring boot应用程序容器(在我的例子中是orchestrator)中执

  • 寻找类似问题的堆栈溢出解决方案并没有解决我的问题,所以希望分享我目前的经历来帮助调试这个问题。 那么一个小小的序言;几天前,我最初安装了minikube/kubectl。今天我继续尝试学习minikube教程,现在遇到了一些问题。我在看迷你入门指南。 我在苹果电脑上。我的版本: $ kubectl版本 $minikube版本 $ vboxmanage --version 以下是我尝试检查响应的一系

  • 问题内容: 最近,我升级到Selenium 3.7。 码: 包含的图书馆: selenium-java-3.7.1 / selenium-server-standalone-3.7.1.jar selenium-java-3.7.1 / libs / httpcore-4.4.6.jar selenium-java-3.7.1 / libs / httpclient-4.5.3.jar selen

  • 问题内容: 我的seleniumwebdriver上出现了太常见的连接拒绝错误。几周前执行了相同的代码。 我一直在阅读现有帖子中的内容,并尝试将geckodriver和FireFox更新无济于事。我可以在另一台运行相同版本的驱动程序,浏览器和库等的计算机上运行相同的代码。如何找到特定于该计算机的原因?错误如下。 调试1调试2调试3 而且,即使是以下基本代码,我也可以运行它。 铬示例。 故障跟踪: