C#将范围报告屏幕截图添加到HTML报告中

时间:2019-01-30 19:08:27

标签: c# extentreports

因此,我有NUnit个测试和Extent Report HTML报告,在每次测试失败后,我想在screenshot报告中显示HTML

这就是我尝试的方法:

每次测试后,如果测试失败:

[TearDown]
public void AfterEachTest()
{
    var status = TestContext.CurrentContext.Result.Outcome.Status;
    if (status == TestStatus.Failed)
    {
        string path = Browser.CaptureScreeshot();
        BaseReport.ExtentTest.Log(Status.Fail, "Test fail");
        BaseReport.ExtentTest.AddScreenCaptureFromPath(path);
    }
}

您可以看到string path = Browser.CaptureScreeshot()返回了我的.png屏幕截图,该路径有效并且存在,但是在report内看起来像这样:

enter image description here

为什么我的picture无法识别?

我也尝试使用AddScreenCaptureFromBase64String而不是AddScreenCaptureFromPathbut,这无济于事。

1 个答案:

答案 0 :(得分:0)

请与此检查:

    //To take screenshot
    Screenshot file = ((ITakesScreenshot)driver).GetScreenshot();

    //To save screenshot
    file.SaveAsFile(parentDirName + "\\Screenshots\\" + SSName + ".png", ScreenshotImageFormat.Png);

    //To log screenshot
    testlog.Info("Details", MediaEntityBuilder.CreateScreenCaptureFromPath( "\\Screenshots\\" + SSName + ".png").Build());