Selenium Grid:识别发生测试失败的WebDriver节点

我们使用Selenium WebDriver测试我们的Web应用程序,我们通过Selenium Grid 2运行测试.

这通常很有效,但是一些测试在通过Selenium Grid运行时会随机失败.错误消息通常是“读取zip文件时出错”.

我们将这个问题跟踪到了测试所使用的WebDriver节点上的一个问题 – 通常是一些弹出对话框正在打开,显然阻止了测试运行.

要进一步诊断此问题,查看WebDriver节点发生测试失败将会很有帮助.遗憾的是,虽然来自RemoteWebDriver的标准错误消息包含版本和系统信息,但它不包含主机名:

org.openqa.selenium.WebDriverException: error reading zip file;
duration or timeout: 83 milliseconds
Build info: version: '2.6.0', revision: '13840', time: '2011-09-13 16:51:41'
System info: os.name: 'Linux', os.arch: 'amd64', 
os.version: '2.6.18-194.32.1.el5', java.version: '1.6.0_20'

此外,这显然只是运行Selenium测试的系统的信息,而不是运行浏览器的系统(即WebNode).

有没有办法找出运行失败测试的节点的名称?或者我应该考虑使用Selenium项目提交增强请求吗?

有一个相关的问题:Selenium 2 Grid – Knowing which node your test is using,但它更通用一些,询问测试本身在运行时如何找到它的机器.

最佳答案 可以识别您的测试(浏览器)正在运行的节点.

看看这些链接:

Java和c#绑定:
http://www.martin-walton.me.uk/2013/01/get-host-of-webdriver-grid-node/

Ruby绑定
http://www.martin-walton.me.uk/2013/02/get-host-of-webdriver-grid-node-in-ruby/

点赞