如何在节点故障时从Selenium集线器获取诊断信息?

3 投票
2 回答
1884 浏览
提问于 2025-04-17 10:11

我有几个webdriver节点,它们都连接到一个配置几乎相同的中心(hub)。我有一个简单的测试,它会加载一个网址并截图。有时候,测试在一次运行中失败,但在下一次运行中又通过了。唯一的不同应该是执行测试的节点。问题是我不知道是哪个节点运行了测试,而检查每个节点的日志又很耗时间。

有没有办法从中心获取到是哪个节点被要求运行测试的呢?

我在使用python绑定,当我查看从webdriver.Remote("http://myhub:4444/wd/hub", browser)返回的对象时,发现没有任何方法或属性能存储这个信息。

我也没有在中心和我控制中心的机器之间的网络流量中看到关于远程webdriver的信息。当然,也有可能是我没有向中心发送请求来获取这些信息。似乎唯一相关的信息是一个会话ID。

有什么建议吗?

2 个回答

0

你可以直接用grep命令在Selenium中心的输出日志中查找sessionID,这样你就能看到哪个节点执行了测试。

1

我在这个问题中找到了我需要的东西。查询的链接是http://hub:4444/grid/api/testsession?session=MY_SESSION_ID

撰写回答