我想在远程机器中运行selenium测试用例。以下是我所遵循的步骤:
我在服务器机器中执行的步骤:
java -jar selenium-server-standalone-3.9.1.jar -role hub启动了selenium服务器。我在本地机器中执行的步骤:
java -jar selenium-server-standalone-3.9.1.ja-role node -hub http://172.24.111.70:4444/grid/register启动了一个节点。节点连接到集线器。node test.js。我希望chrome实例在远程计算机中打开。但它在本地机器上运行。截图:集线器:(远程)

节点:(本地)

你能解释一下我在这里犯的错误吗?我是否理解错了这个概念?
发布于 2018-02-08 10:16:27
将运行测试的web浏览器实例将在节点上创建,而不是在集线器上创建。集线器是如何注册多个节点,以便在不同的机器/节点之间传播负载。据我所知,您在远程计算机上有一个集线器,您可以将本地节点连接到它。
我认为您想要的也是在远程机器上运行节点,在同一台机器上注册到集线器(注册节点时可能必须将集线器的IP地址更改为本地主机)。
发布于 2018-02-08 10:58:24
因此,问题是您希望在远程机器上运行测试,但它们在本地运行?
根据它的声音,您已经正确地完成了所有的设置,并且集线器/节点应该工作得很好。您所需要做的就是,不要在本地机器上运行Node,而是在远程机器上运行它。您只需要将集线器看作主管,它将工作分配给节点(他们的员工)来完成。集线器本身不运行任何测试,它只是将数据发送到节点和多个节点之间的负载平衡。
我们有6台远程机器。机器1有集线器和节点,其他5有节点。在我们的项目中,我们指向集线器,所以当测试运行时,它们会被发送到那里。集线器执行其余的操作(取决于nodecfg文件和您在其中的设置)
https://stackoverflow.com/questions/48682708
复制相似问题