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

时间:2017-09-26 14:58:58

标签: selenium-grid

我想使用SELENIUM GRID2在同一网络上的2台不同的机器(2个不同的节点)上运行测试。

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

推出全球资讯科技中心 ​​- 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

最终在下面提到的代码中传递/提供了中心URL

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

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

但是测试是在一个节点(首先注册到集线器的节点)中运行的

测试没有在2个节点中执行/运行

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

将测试分配给节点是网格的属性。想要仅对特定节点运行测试会得到什么?

话虽这么说,您基本上可以使用以下选项将测试路由到特定节点

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