실패한 테스트 케이스의 스크린 샷을 가져 가고 싶습니다. 그러나 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를 사용합니다. –