java - Selenium 可以截取 JUnit 测试失败的屏幕截图吗?

标签 java selenium junit junit4 selenium-webdriver

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

不,我不想编辑我们的无数测试来添加 try/catch。我想,我可能会,只是可能会被说成注释。我所有的测试都有一个共同的父类,但我想不出有什么办法可以解决这个问题。

想法?

最佳答案

一些快速的搜索让我明白了这一点:

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

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

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

这对你的问题有用吗?

关于java - Selenium 可以截取 JUnit 测试失败的屏幕截图吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429793/

相关文章:

java - JUnit 中的奇怪 NullPointerException

java - 缓存 JSON 字符串与 Java 对象

java - 无法使用 Selenium WebDriver 将 Keys() 发送到 TinyMCE

java - Selenium检查属性是否包含java中字符串的一部分

python - 执行 Python3 x Selenium Webdriver 脚本时出错:RenderWidgetHostImpl::OnSwapCompositorFrame,LatencyInfo 矢量大小 117 太大

java - 在单元测试中测试副作用

java - JUnit 插件测试忽略 Eclipse Neon 中的目标平台

java - 如何使用带有 EPL 的 Zebra 打印机打印双引号?

java - 如何使用带有 Java 的 Selenium WebDriver 在同一浏览器中打开新选项卡?

java - 让 JSF 吐出一个 HTML 搜索字段。可行吗?