【问题标题】:capture screenshot on failure selenium rc testNG捕获失败 selenium rc testNG 的屏幕截图
【发布时间】:2012-12-06 22:28:09
【问题描述】:

我正在使用 selenium 运行我在 Eclipse (Java) 中使用 TestNG 框架准备的自动化脚本。任何人都可以帮助我如何捕获可以存储和保存以供将来参考的失败屏幕截图。

【问题讨论】:

  • @Slanec 你可以看看它。
  • groups.google.com/forum/?fromgroups#!topic/testng-users/…。有两个或三个实现,由 TestNG 创建者自己评论。
  • 我已经做了很好的研究,但仍然无法解决问题。如果有人使用这样的代码可以提供我的工作代码。我使用 Selenium RC 运行我的脚本。我使用 TestNG 框架在 java 中准备我的脚本。
  • 对于使用 Web Driver 而不是 RC 的人,有一个解决方案 here

标签: selenium selenium-rc testng


【解决方案1】:

将以下代码添加到@AfterMethod (TestNG) 注释

@AfterMethod
public void closeBrowser(ITestResult result) throws IOException {
    if (!result.isSuccess()) {

        File imageFile = ((TakesScreenshot) driver)
                .getScreenshotAs(OutputType.FILE);
        String failureImageFileName = result.getMethod().getMethodName()+ new SimpleDateFormat("MM-dd-yyyy_HH-ss").format(new GregorianCalendar().getTime())
                + ".png";
        File failureImageFile = new File(failureImageFileName);
        FileUtils.moveFile(imageFile, failureImageFile);
    }
    driver.close();
    driver.quit();
}

【讨论】:

  • @KingArasen 您好 Arasan,最衷心感谢您提供的解决方案。当我实施时,它显示错误 --- java.lang.ClassCastException: com.thoughtworks.selenium.DefaultSelenium 无法转换为 org .openqa.selenium.TakesScreenshot 你能帮我解决这个异常吗?
  • @VirendraJoshi 你声明了 wedriver 对象(驱动程序)吗?
  • @KingArasen 不,我正在使用 Selenium RC ..所以我正在使用 Selenium 类对象。我正在使用 Selenium 对象代替驱动程序。
  • 你可以试试这个项目 - github.com/yev/seleniumMvnScreenshot。在您的 POM 中添加此依赖项。为你的 selenium 测试添加监听器,这个插件将为你做所有事情。
猜你喜欢
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
  • 2014-07-15
相关资源
最近更新 更多