因此,我有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
内看起来像这样:
为什么我的picture
无法识别?
我也尝试使用AddScreenCaptureFromBase64String
而不是AddScreenCaptureFromPathbut
,这无济于事。
答案 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());