【问题标题】:Add a failure screenshot to an Nunit test向 Nunit 测试添加失败截图
【发布时间】:2015-11-03 02:21:50
【问题描述】:

我有一个 Nunit 测试,它正在做一些自动化的 UI 测试。

我知道使用 MSTest,您可以在结果中添加屏幕截图(请参阅 Attach an image to a test report in MSTest

nunit 有类似的东西吗?我可以以某种方式在测试结果中添加图片吗?我做了一些寻找,但找不到类似的东西。

【问题讨论】:

  • 不适用于 NUnit,不。您在 UI 自动化中使用什么?硒?如果你走这条路,Selenium 确实支持屏幕截图。
  • 我正在使用 selenium,并且我知道如何截取屏幕截图,我想做的是将这些截图关联回测试结果

标签: c# nunit


【解决方案1】:

我想你正在寻找 NUnit 的TestContext.AddTestAttachment(file)

所以你可以在 Selenium 和 NUnit 中做这样的事情:

// Get the screenshot from Selenium WebDriver and save it to a file
Screenshot screenshot = driver.GetScreenshot();
string screenshotFile = Path.Combine(TestContext.CurrentContext.WorkDirectory,
    "my_screenshot.png");
screenshot.SaveAsFile(screenshotFile, ScreenshotImageFormat.Png);

// Add that file to NUnit results
TestContext.AddTestAttachment(screenshotFile, "My Screenshot");

【讨论】:

    【解决方案2】:

    如果您准备改变编写测试的方式,一个可行的解决方案是为您的测试逻辑创建一个执行包装器。此包装器通过在控制流返回到 NUnit 运行器之前截取屏幕截图来处理异常。

    See this solution for more details and code samples.

    【讨论】:

    • 嘿,这与我的问题无关。我知道怎么截图。我不能做的是将它们嵌入到测试结果中。
    • 好的,对造成的误解深表歉意。如果您尝试在测试运行后实际查看 NUnit 应用程序本身的屏幕截图,我无法提供解决方案。但是,我链接到的解决方案可用于生成日志输出(可能以 html 形式),它将屏幕截图文件与每个测试结果相关联。这是我在构建服务器上使用的方法,它也可以在本地运行 - 您甚至可以编写构建工具脚本,在测试运行后为您打开它。
    猜你喜欢
    • 2019-03-04
    • 2015-07-19
    • 2021-10-11
    • 1970-01-01
    • 2012-03-25
    • 2011-11-14
    • 2023-03-19
    • 2010-11-11
    • 1970-01-01
    相关资源
    最近更新 更多