Selenium Grid:如何以编程方式从HUB检索节点信息?

时间:2017-01-09 11:34:21

标签: java selenium-webdriver selenium-grid

我正在尝试使用selenium网格运行我的selenium代码。 有人可以告诉我如何使用java代码检索节点的系统信息(如PC名称,操作系统)

1 个答案:

答案 0 :(得分:2)

有多种方法可以做到这一点。最简单的方法是解析浏览器的用户代理。这为您提供了一些基本信息。

通过实例化RemoteWebDriver在节点上启动浏览器后,您只需执行String userAgent = (String) driver.executeScript("return navigator.userAgent;");,然后使用UADetector等库来解析用户代理字符串。这应该为您提供有关机器的一些信息,如操作系统版本/风格,浏览器版本等,

如果除此之外你还想要测试路由到的节点的IP地址,你可以参考我的this博客文章。

如果您想从您的节点获得更多自定义信息,请按以下步骤操作:

  1. 构建节点servlet并将其注入节点(您可以参考here了解如何操作)
  2. 在servlet中,您可以选择构建一个JSON响应,该响应将捕获您希望发送回客户端的所有信息(在您的情况下是测试代码)
  3. 使用我在this博客中详述的逻辑来检索节点的IP地址和端口,然后使用它来命中节点servlet [例如,假设1.2.3.4,5555是由(3)检索的IP和端口以及您的servlet被称为ExtraServlet,那么您的终点将是http://1.2.4.4:5555/extra/ExtraServlet
  4. 希望有所帮助。