一尘不染

Selenium可以对JUnit的测试失败进行截图吗?

selenium

当我的测试用例失败时,尤其是在我们的构建服务器上,我想对屏幕进行拍照/截屏以帮助我调试以后发生的事情。我知道如何截屏,但是我希望在takeScreenshot()关闭浏览器之前,如果测试失败,则可以在JUnit中调用一种方法来调用我的方法。

不,我不想编辑我们成千上万的测试来添加try /
catch。我想,也许可以,或者说成一个注释。我所有的测试都有一个公共的父类,但是我想不出什么办法可以解决这个问题。

有想法吗?


阅读 293

收藏
2020-06-26

共1个答案

一尘不染

一些快速搜索使我想到了这一点:

http://blogs.steeplesoft.com/posts/2012/grabbing-screenshots-of-failed-
selenium-tests.html

基本上,他建议创建一个JUnit4 Rule并将测试包装Statement在他调用的try / catch块中:

imageFileOutputStream.write(
    ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES));

这对您的问题有用吗?

2020-06-26