使用TestNG和Gradle的Selenium:将浏览器崩溃测试设置为SKIPPED而不是FAILED

时间:2013-12-06 20:27:34

标签: java selenium gradle testng selenium-chromedriver

我目前正在处理最新版本的Chrome和Chrome驱动程序与Selenium的通常的片状。我正在使用Grid 2和几台Windows 7计算机运行我的测试。我会得到ChromeDriver报告的偶尔不可避免的死浏览器标签。由于这些测试并没有真正失败到Web应用程序功能,我想将它们标记为跳过以保持报告对我当前的目的更有用。我试过让它们重新运行,但TestNG对此的支持是实验性的,目前已经破裂。

有没有办法可以在我们的Gradle报告登录之前将这些测试设置为SKIPPED状态? (我使用Gradle报告而不是ReportNG,因为ReportNG无法在并行测试中正常工作)。

我想我需要添加另一个侦听器并以某种方式获取报告的堆栈跟踪,检查特定字符串,然后将该设置设置为SKIPPED。这是正确的方法吗?

有关如何实现这一目标的任何提示都会很棒。我无法找到用我的监听器捕获堆栈跟踪的方法,最重要的是,将测试设置为SKIPPED状态(一旦解析了跟踪)。我正在使用Java来推动这些测试。

非常感谢任何想法/帮助!

干杯, 达尔文

1 个答案:

答案 0 :(得分:1)

您可以尝试实现接口ITestListener,在onTestFailure()中检查堆栈跟踪并调用setCurrentTestResult()方法来设置Skipped状态。

不要忘记按照TestNG文档的“5.17 - TestNG Listeners”中的描述,使实现的类成为监听器。