我们希望将屏幕截图附加到 Azure 管道中的测试附件。目前,我们使用
- .NET 4.5.2
- Selenium.WebDriver 3.141
- Selenium.Chrome.WebDriver
- Nunit 3.12.0
- Specflow.Nunit 2.4.0
它与以下示例类似,但我们使用 NUnit 而不是 MSTest https://docs.microsoft.com/en-us/azure/devops/pipelines/test/collect-screenshots-and-video?view=azure-devops#收集屏幕截图日志和附件
在 VS2017 中运行程序时,可以从测试报告中访问屏幕截图。此外,我们可以在 azure build 输出中看到屏幕截图。
这是代码:
string fileName = string.Format("Screenshot_" + DateTime.Now.ToString("dd-MM-yyyy-hhmm-ss") + ".jpg");
var artifactDirectory = Directory.GetCurrentDirectory();
ITakesScreenshot takesScreenshot = _driver as ITakesScreenshot;
if (takesScreenshot != null)
{
var screenshot = takesScreenshot.GetScreenshot();
string screenshotFilePath = Path.Combine(artifactDirectory, fileName);
screenshot.SaveAsFile(screenshotFilePath, ScreenshotImageFormat.Jpeg);
TestContext.AddTestAttachment(screenshotFilePath, "screenshot");
Console.WriteLine($"Screenshot: {new Uri(screenshotFilePath)}");
}
Azure 管道中的 Visual Studio 测试步骤
构建运行后,没有附件
任何帮助,将不胜感激。