我是C#,Specflow和Nunit的新手。目前,我正在使用Specflow和Nunit来自动执行一些UI测试。
目标:我想为失败的测试用例附上屏幕截图。
以下是截屏的代码
[AfterScenario]
public void AfterScenario()
{
if (ScenarioContext.Current.TestError != null)
{
var screenShotPath = AppDomain.CurrentDomain.BaseDirectory + "\\TestResults\\ScreenShots";
Directory.CreateDirectory(screenShotPath);
if (BrowserSession != null)
{
BrowserSession.SaveScreenshot(Path.Combine(screenShotPath, ScenarioContext.Current.ScenarioInfo.Title + ".jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);
TestContext.AddTestAttachment(Path.Combine(screenShotPath, ScenarioContext.Current.ScenarioInfo.Title + ".jpg"));
}
}
}
在詹金斯的工作中,
我使用命令行nunit3-console.exe来执行测试并生成Testresults.xml。
在Post构建操作中,我使用nunit插件发布了Nunit报告。
除了"附件"一切都很好。即使"附件"包含失败的屏幕截图也不会发布标签存在于xml中。
以下是生成的xml
的快照</assertion>
</assertions>
<attachments>
<attachment>
<filePath>E:\jekinsJob\autotest\TestSolution\bin\Debug\TestResults\ScreenShots\registrationlink.jpg</filePath>
</attachment>
<attachment>
<filePath>E:\jekinsJob\autotest\TestSolution\bin\Debug\TestResults\ScreenShots\guest_registration.jpg</filePath>
</attachment>
</attachments>
</test-case>
任何人都可以帮我解决这些问题。我只想在发布Nunit结果时附加屏幕截图链接。