我们可以使用Selenium GRID 2在同一网络中同时连接的两台不同机器的两个节点上运行Selenium Test

问题描述:

我想使用SELENIUM GRID2在同一网络上的两台不同机器(两个不同节点)上运行测试。我们可以使用Selenium GRID 2在同一网络中同时连接的两台不同机器的两个节点上运行Selenium Test

当我运行测试,测试是在一个节点上运行(节点首先注册到集线器)

推出在网格集线器 - 在同一 http://11.111.111.11:4444

注册2个节点从2吨不同的机器网络。

节点1:

xxxx://11.111.111.11:4444/grid/register -port 5557 

节点2:

xxxx://11.111.111.11:4444/grid/register -port 5558 

终于通过/提供下面

String hubURL = "xxxx://11.111.111.11:4444/wd/hub"; 

driver = new RemoteWebDriver(new URL(hubURL), caps); 

提到的代码中的轮毂URL但测试是运行在一个节点(首先注册的节点到集线器)

是没有得到执行/ 2个节点

运行测试请帮我这个场景

分配测试到一个节点是网格的属性。想要只运行一个特定节点的测试会得到什么?

话虽这么说,可以基本路线测试,以一个特定的节点,使用下列选项

  1. 当您启动的节点上,你基本上设置其maxSession为1这样一个节点只会一次一个测试。这是一个配置,您需要通过nodeConfig参数在节点级别传递,将硒节点指向JSON配置文件。有关更多详细信息,请参阅我的博客here
  2. 第二种方法有点复杂,需要您构建一些定制。您需要使用自定义能力匹配器,您需要将其注入网格,然后通过您可以传递自定义能力的所需能力对象,并且网格将始终将您的测试路由到该特定节点。它是一种为测试创建节点关联性的方法,当您试图调试仅发生在特定节点上的故障时特别有用。您可以在我的博文here中阅读有关使用自定义功能的更多信息。