当前位置: 首页 > 面试题库 >

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

巴星华
2023-03-14
问题内容

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

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

有想法吗?


问题答案:

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

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));

这对您的问题有用吗?



 类似资料:
  • 问题内容: 我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我试图将测试分成功能区域,以更好地报告错误。我创建了测试以测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流移动失败,我想跳过后续的页面/工作流测试。 如果测试A失败,如何跳过班级中的其余测试或在班级B中运行测试? 注意: 我意识到我要问的是“ UNIT TESTS的 不良实践* 。但是

  • 我想学习如何编写JUnit测试,但我完全失败了。 这是我的测试: 问题是这个简单的断言已经失败了。返回的列表是空的。我知道,我对这一切都不熟悉,但是从我的角度来看,失败是如此出乎意料,以至于我没有办法解决这个问题。 以下是全部代码(不太多): 要测试的功能就是这个,我知道它是有效的: 实际上,我只是想学习如何编写这样的测试,但是几天来我一直没有写出来。有相当多的例子和解释,但是不管我做什么尝试,我

  • 问题内容: 你们中有谁知道针对测试失败和异常进行屏幕截图的可能解决方案? 我在其中添加了以下代码,但结果是它也会对通过的测试进行截图,因此它不是最佳解决方案: 我已经找到了这个主意:http: //yizeng.me/2014/02/08/take-a-screenshot-on-exception-with- selenium-csharp-eventfiringwebdriver/ ,可以使用

  • 我有一个简单的测试用例: FileManager中的函数删除 /myDir下的所有文件,然后再次保留文件。 如上所述,我有一个。运行时,我可以按以下顺序查看所有打印: 但是,测试在失败。有两件事我不明白: > 我不明白,它在中失败了,为什么我仍然可以看到打印的,听起来就像是失败了,它没有停止运行,而是继续运行下一个测试?JUnit测试用例中的场景背后发生了什么?? 我不明白的另一件事是为什么tes

  • 我正在使用MSpec使用硒网络驱动程序驱动一些自动化的用户界面测试。很像我在网上找到的例子。当测试失败时,我很难让它截图。 我在另一个问题上看到了一个评论,因为他们在示例Web规范中有一个。然而,在最新版本的Mspec(0.9.1)中似乎不存在。 在最新版本的mspec中,有没有其他方法可以做到这一点?最终,我将作为TeamCity工件生成HTML报告,并包含任何失败规范的屏幕截图。