Я хочу сделать снимок экрана неудавшегося тестового примера. Но я не знаю, как заставить Nunit использовать моего слушателя. Я пытался использовать IAddins, но Nunit не имеет NUnit.Core.Extensibility lib. Мой код:Nunit. Сделайте снимок экрана при неудаче теста с помощью ITestListener
using System;
using OpenQA.Selenium;
using NUnit.Framework.Interfaces;
using AT_MentoringPortal.Driver;
using System.Drawing.Imaging;
namespace AT_MentoringPortal.listeners
{
public class ScreenshotListener : ITestListener
{
private readonly string path = ".//screens//";
public void TestFinished(ITestResult result)
{
if (result.ResultState.Status == TestStatus.Failed)
{
IWebDriver driver = DriverFactory.GetDriver();
this.MakeScreenshot(driver, result.Name);
}
}
public void MakeScreenshot(IWebDriver driver, string testName)
{
string timestamp = DateTime.Now.ToString("yyyy-MM-dd-hhmm-ss");
var screenshot = ((ITakesScreenshot)driver).GetScreenshot();
screenshot.SaveAsFile($"{this.path}{timestamp} {testName}", ImageFormat.Jpeg);
}
public void TestOutput(TestOutput output)
{
// throw new NotImplementedException();
}
public void TestStarted(ITest test)
{
// throw new NotImplementedException();
}
}
}
Пожалуйста, покажите мне, как начать свой слушатель в тестовом классе.
Какую версию NUnit вы используете? – Charlie
@Charlie Я использую версию 3.5.0 (последняя) Nunit и Nunit3TestAdapter. –