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



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

根据用于运行 UI 测试的测试框架:

  • MsTest: TestContext.AddResultsFile(file)
  • NUnit(3.8+): TestContext.AddTestAttachement(file)
  • XUnit.NET:目前不可用。

在代码下面,我曾经截取屏幕截图,将其保存在工作目录中,然后将文件更新为 TFS 构建。

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:");

最新更新