用于从网格主机获取硒节点状态的API

tri*_*999 1 selenium-grid

对通用问题很抱歉,但是有没有一个可以用作硒网格一部分的api,我可以查询它以找出网格上当前的活动会话。有一个使用Json Wire协议的api,它可以查询单个节点以获取会话信息。但是我想知道是否有与网格机绑定的查询,我可以查询该网格机以获取所有节点的会话信息。任何帮助表示赞赏。谢谢!

Kri*_*van 6

当前没有什么可以让您查询Grid的内部结构并弄清楚当前与Grid一起运行的所有会话。

简而言之,下面是Grid公开的API:

  1. 集线器将我的测试路由到哪里?您可以通过URL(GET REQUEST)来获取它http://localhost:4444/grid/api/testsession?session=<SessionIdGoesHere>[会话ID可以通过driver.getSessionId()where driver类型RemoteWebDriver或它的子类来获取。
  2. 获取我的会话路由到的代理的详细信息?您可以通过URL(GET REQUEST)来获取它http://localhost:4444/grid/api/proxy?id=<NodeIdGoesHere>[NodeId的形式http://Ip:port可以在(2)的响应中获得这两者]
  3. 获取集线器的配置。您可以通过URL(GET REQUEST)来获取http://localhost:4444/grid/api/hub。如果您在运行Selenium 3.0.1或更高版本的集线器上单击此URL,则应该在JSON响应中看到有关可用插槽和总插槽的信息。

无论Grid公开什么API(上面列出的所有3个api),我基本上都将它们封装为一个库,您可以使用[它是一个Java库]

请看一下Talk2Grid提供的功能(Maven依赖项详细信息和示例代码也可以在github页面上找到)

为了满足您的需求,基本上,您将需要构建一个servlet,并将其注入到Hub中,然后通过此自定义servlet访问所需的信息。要了解有关如何自定义网格的更多信息,请参见此处

希望能有所帮助