对于通用问题很抱歉,但是有一个api可以作为selenium网格的一部分,我可以查询以查找网格上当前的活动会话。有一个api使用Json Wire协议,可以查询各个节点以获取会话信息。但是我想知道是否有一个与网格机器绑定,我可以查询以获取所有节点的会话信息。任何帮助表示赞赏。谢谢!
答案 0 :(得分:5)
目前没有什么可以让您查询Grid的内部结构并找出当前与Grid一起运行的所有会话。
在坚果壳中,以下是Grid公开的API:
http://localhost:4444/grid/api/testsession?session=<SessionIdGoesHere>
[会话ID可以通过driver.getSessionId()
获取,其中driver
的类型为RemoteWebDriver
或其子类。< / LI>
http://localhost:4444/grid/api/proxy?id=<NodeIdGoesHere>
获取此信息[NodeId的格式为http://Ip:port
,这两者都可以在(2)的响应中获得] http://localhost:4444/grid/api/hub
获取此信息。如果您在使用Selenium 3.0.1或更高版本运行的集线器上点击此URL,您应该在JSON响应中看到有关空闲插槽和总插槽的信息。 无论网格暴露什么api(以上所有3个api),我基本上将它们封装为一个你可以使用的库[它是一个java库]
请查看Talk2Grid提供的内容(maven依赖项详细信息和示例代码也可在github页面中找到)
为了满足您的需求,您基本上需要构建一个servlet并将其注入Hub,然后通过此自定义servlet访问您要查找的信息。要了解有关如何自定义网格的详细信息,请参阅here。
希望有所帮助