在哪里发布由VSTS中的发布管道生成的SpecFlow/Senium屏幕截图



我正在使用SpecFlow和Selenium通过使用VSTSVisual Studio Test任务执行xUnit测试运行来生成屏幕截图:

我已经用默认参数值配置了VS Test task,所以(我相信(它只需找到任何DLL,并用xUnit运行程序运行它们。

运行后,特定版本的测试报告会按预期显示测试结果。然而,它并没有显示生成的屏幕截图。

我正试图附上测试期间生成的屏幕截图,代码为:

string path = System.IO.Directory.GetCurrentDirectory() + "TestScreenshot.png";
OpenQA.Selenium.Screenshot ss = ((OpenQA.Selenium.ITakesScreenshot)Context.Driver).GetScreenshot();
ss.SaveAsFile(path);
var testContext = ScenarioContext.Current.ScenarioContainer.Resolve<Microsoft.VisualStudio.TestTools.UnitTesting.TestContext>();
testContext.AddResultFile(path);

但这不会显示在测试报告的attachments部分中。

看到这篇SO帖子后,我想也许我需要将屏幕截图存储在一个特定的"特殊文件夹"中,但我不知道该使用哪个文件夹,也不知道如何安排它们来指示它们连接到哪个测试。

看过这些文档后,我认为我只需要一个Publish Test Results任务,并指示测试附件的存储位置,但这会出现错误,并抱怨找不到TEST-*.xml文件。我并没有专门配置VS Test task来生成TEST-*.xml文件,因为测试结果似乎是自动检测到的。

据我所见,我得到的结果与这个SO帖子链接的错误报告中的结果相同,尽管修复应该是实时的。

我如何发布/上传/报告我的屏幕截图,以便它们在我的发布管道结束时作为测试报告的一部分可见?

如果你使用的是xUnit测试提供程序,根据这个线程,它还没有Xnit.net的TestContext。https://github.com/xunit/xunit/issues/621

相关内容

  • 没有找到相关文章

最新更新