3

我目前的设置是 5 个节点,每个节点有 10 个 Firefox 浏览器,都连接到一个集线器。

我遇到了一个问题,我耗尽了每个节点的 10 个 Firefox 浏览器。因此,任何新的 selenium 运行都将在 Hub 排队并在节点的任何 FF 浏览器可用时运行。

我想要做的是以某种方式查询 selenium grid2 集线器以获取空闲/空闲/可用浏览器的数量,然后再在该特定网格设置上实际运行我的测试。根据我的结果,我会将测试重定向到另一个网格设置(在另一台机器上),或者甚至可能不运行测试。

当然,我可以添加更多节点,甚至增加每个节点可以处理的浏览器数量。但我正在寻找一个答案,它可以帮助我查询网格,然后让我决定我可以采取什么行动,而不是通过蛮力(更大的服务器来处理更多的浏览器会话)强行执行我的方式。

我也感觉到这可能是 Selenium Grid 2 未实现的功能,所以想知道其他人是如何解决这个问题的。

4

1 回答 1

2

它提供来自 selenium 网格中每个 selenium 节点的会话信息。您可以像这样获取每个节点的会话信息(假设您的 selenium 节点侦听端口 5555):

$ curl http://<selenium-node>:5555/wd/hub/sessions

您将获得如下 JSON 对象响应:

{"value":[],"sessionId":null,"status":0,"hCode":1542413295,"class":"org.openqa.selenium.remote.Response"}

然后,您可以从每个 selenium 节点上的“值”数组值计算出有多少活动会话,当它击中这些节点时。然后你就知道剩下多少了。

于 2013-06-28T13:40:44.177 回答