我目前正在处理最新版本的Chrome和Chrome驱动程序与Selenium的通常的片状。我正在使用Grid 2和几台Windows 7计算机运行我的测试。我会得到ChromeDriver报告的偶尔不可避免的死浏览器标签。由于这些测试并没有真正失败到Web应用程序功能,我想将它们标记为跳过以保持报告对我当前的目的更有用。我试过让它们重新运行,但TestNG对此的支持是实验性的,目前已经破裂。
有没有办法可以在我们的Gradle报告登录之前将这些测试设置为SKIPPED状态? (我使用Gradle报告而不是ReportNG,因为ReportNG无法在并行测试中正常工作)。
我想我需要添加另一个侦听器并以某种方式获取报告的堆栈跟踪,检查特定字符串,然后将该设置设置为SKIPPED。这是正确的方法吗?
有关如何实现这一目标的任何提示都会很棒。我无法找到用我的监听器捕获堆栈跟踪的方法,最重要的是,将测试设置为SKIPPED状态(一旦解析了跟踪)。我正在使用Java来推动这些测试。
非常感谢任何想法/帮助!
干杯, 达尔文
答案 0 :(得分:1)
您可以尝试实现接口ITestListener,在onTestFailure()中检查堆栈跟踪并调用setCurrentTestResult()方法来设置Skipped状态。
不要忘记按照TestNG文档的“5.17 - TestNG Listeners”中的描述,使实现的类成为监听器。