当我的测试用例失败时,尤其是在我们的构建服务器上,我想对屏幕进行拍照/截屏以帮助我调试以后发生的事情。我知道如何截屏,但是我希望在takeScreenshot()关闭浏览器之前,如果测试失败,则可以在JUnit中调用一种方法来调用我的方法。
takeScreenshot()
不,我不想编辑我们成千上万的测试来添加try / catch。我想,也许可以,或者说成一个注释。我所有的测试都有一个公共的父类,但是我想不出什么办法可以解决这个问题。
有想法吗?
一些快速搜索使我想到了这一点:
http://blogs.steeplesoft.com/posts/2012/grabbing-screenshots-of-failed- selenium-tests.html
基本上,他建议创建一个JUnit4 Rule并将测试包装Statement在他调用的try / catch块中:
Rule
Statement
imageFileOutputStream.write( ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES));
这对您的问题有用吗?