我们应该创建VPN网络还是Selenium有一些特殊的方法来管理这个问题?
当我们将Selenium移动到本地环境时,一切都可以工作。
发布于 2017-07-25 02:54:11
主要问题不是节点无法向集线器注册自己,而是集线器的敲击(集线器不断以预定的间隔向节点发送心跳信号,以检查节点是否向上或是否处于下线状态)。我猜想这可能是因为集线器和节点在不同的网络上,所以双向通信没有发生。
这非常类似于我在Amazon机器上运行Selenium,让它暴露在外部世界,然后尝试在我的本地机器(它也具有互联网连接性)上生成一个Selenium节点,并试图将这个节点连接到集线器。
从节点到集线器的注册将正常工作,因为我的机器(运行节点的机器)能够发现运行在云上的集线器(该集线器在外部公开),但是当集线器试图向我的节点发送心跳信号时,尝试失败,因为我的机器会发送它的内部IP地址,该地址仅在本地网络中可见,而不是在外部,而这是集线器将用来发送心跳信号的IP地址。
这更像是一个网络问题,与Selenium Grid没有任何关系。
底线是,您需要确保Selenium集线器和Selenium节点都在同一个网络上。因此,您可以通过VPN配置(我不是网络专家,因此我不能就如何做到这一点发表更多的评论)(或者)将集线器移动到与节点相同的网络。
希望这增加了清晰性。
https://stackoverflow.com/questions/45276613
复制相似问题