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

时间:2017-02-01 15:41:43

标签: selenium-grid

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

1 个答案:

答案 0 :(得分:5)

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

在坚果壳中,以下是Grid公开的API:

  1. Hub测试路由到哪里?您可以通过网址获取此信息(GET REQUEST)http://localhost:4444/grid/api/testsession?session=<SessionIdGoesHere> [会话ID可以通过driver.getSessionId()获取,其中driver的类型为RemoteWebDriver或其子类。< / LI>
  2. 获取我的会话路由到的代理的详细信息?您可以通过URL(获取请求)http://localhost:4444/grid/api/proxy?id=<NodeIdGoesHere>获取此信息[NodeId的格式为http://Ip:port,这两者都可以在(2)的响应中获得]
  3. 获取Hub的配置。您可以通过URL(GET REQUEST)http://localhost:4444/grid/api/hub获取此信息。如果您在使用Selenium 3.0.1或更高版本运行的集线器上点击此URL,您应该在JSON响应中看到有关空闲插槽和总插槽的信息。
  4. 无论网格暴露什么api(以上所有3个api),我基本上将它们封装为一个你可以使用的库[它是一个java库]

    请查看Talk2Grid提供的内容(maven依赖项详细信息和示例代码也可在github页面中找到)

    为了满足您的需求,您基本上需要构建一个servlet并将其注入Hub,然后通过此自定义servlet访问您要查找的信息。要了解有关如何自定义网格的详细信息,请参阅here

    希望有所帮助