【发布时间】:2012-09-07 22:19:12
【问题描述】:
当我的测试用例失败时,尤其是在我们的构建服务器上,我想拍一张屏幕的照片/屏幕截图,以帮助我调试后来发生的事情。我知道如何截屏,但我希望在 JUnit 中有一种方法可以在测试失败时在浏览器关闭之前调用我的 takeScreenshot() 方法。
不,我不想编辑我们的无数测试来添加 try/catch。我想,我可能会,只是可能会被说成注释。我所有的测试都有一个共同的父类,但我想不出有什么办法可以解决这个问题。
想法?
【问题讨论】:
-
在哪种情况下失败?什么时候不能点击一个元素?当它无法立即找到一个元素时?稍等片刻后找不到元素时?什么时候不能启动浏览器?我这样做的方法是在浏览器找到元素时有一个中心方法,将其包装在 try catch 和 catch 中,截取屏幕截图。每当我需要找到一个元素时,调用它。然后这将为您处理。
-
借助 TestNG,您可以轻松实现这一目标。您只需要一个获取屏幕截图的侦听器。如果您对 TestNG 解决方案感兴趣,我将在明天发布我的代码。
标签: java selenium junit junit4 selenium-webdriver