Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何将UI测试屏幕截图作为附件添加到TFS测试报告中_Selenium_Tfs_Nunit_Mstest - Fatal编程技术网

Selenium 如何将UI测试屏幕截图作为附件添加到TFS测试报告中

Selenium 如何将UI测试屏幕截图作为附件添加到TFS测试报告中,selenium,tfs,nunit,mstest,Selenium,Tfs,Nunit,Mstest,我正在使用Visual Studio 2017、Visual Studio测试工具和VSTFS v.15。我设法使用Selenium拍摄了屏幕截图,目前将其存储在“TestLogsDir”文件夹中。当我在本地运行UI测试时,我可以在每次测试运行后轻松找到我的屏幕截图。但在虚拟机上运行夜间构建后,“TestLogsDir”将被删除。显然,我可以将屏幕截图存储在其他地方,但问题是如何将屏幕截图附加到TFS测试报告中相应的测试用例?取决于运行UI测试所使用的测试框架: MsTest: NUnit(3

我正在使用Visual Studio 2017、Visual Studio测试工具和VSTFS v.15。我设法使用Selenium拍摄了屏幕截图,目前将其存储在“TestLogsDir”文件夹中。当我在本地运行UI测试时,我可以在每次测试运行后轻松找到我的屏幕截图。但在虚拟机上运行夜间构建后,“TestLogsDir”将被删除。显然,我可以将屏幕截图存储在其他地方,但问题是如何将屏幕截图附加到TFS测试报告中相应的测试用例?

取决于运行UI测试所使用的测试框架:

  • MsTest
  • NUnit(3.8+):
  • XUnit.NET
在下面的代码中,我常常截图,将其保存在工作目录中,然后将文件更新为TFS build

using NUnit.Framework;
using System.Drawing;
using System.IO;

    Screenshot screenshot = ((ITakesScreenshot)Webdriver).GetScreenshot();

    string screenshotFile = Path.Combine(TestContext.CurrentContext.WorkDirectory, "screenshot.png");
    screenshot.SaveAsFile(screenshotFile, ScreenshotImageFormat.Png);

    TestContext.AddTestAttachment(screenshotFile, "Error Snapshot:");

谢谢我试试看。我正在使用MSTest+Selenium。在你的例子中看起来很简单。这是否意味着它将在运行时根据TestContext将创建的屏幕截图附加到TFS报告?是的,它将被保存,并将图片链接添加到trx文件中。当trx发布到TFS/VSTS时,会添加附件。很遗憾,AddResultsFile在TestContext的.net核心实现(2.1,每10/01/2018)中不可用。arynaq:它从MS测试框架的v2开始可用(请参阅)