Невозможно подключить ExtentReportManager как ITestListener в NUnit Test RunnerC#

Место общения программистов C#
Ответить
Anonymous
 Невозможно подключить ExtentReportManager как ITestListener в NUnit Test Runner

Сообщение Anonymous »

Описание:
Я работаю над интеграцией отчетов об экстенте с NUnit для моей среды автоматизации, стремясь сохранять подробные журналы выполнения тестов и снимки экрана. Идея состоит в том, чтобы создать структурированный отчет об экстенте, который показывает каждый метод [Test] в его классе [TestFixture] в качестве дочерних узлов.
Основная причина – фиксировать события жизненного цикла теста, такие как когда тест начинается и заканчивается, чтобы их можно было зарегистрировать в отчете об объеме. Без подключения ExtentReportManager в качестве прослушивателя он не сможет перехватить эти события, то есть не сможет записать в отчет необходимые сведения или снимки экрана. Это вложение необходимо для создания динамического и подробного отчета, отражающего фактическое выполнение теста.
Однако я столкнулся с препятствием при попытке прикрепить свой класс ExtentReportManager в качестве ITestListener. Кажется, что ни методы TestExecutionContext.CurrentContext.Listener, ни AddListener() для этой цели не работают. Я не уверен, что я что-то упускаю или мне следует использовать другой подход к NUnit.
Среды:
  • Версия NUnit: 3.14.0
  • Версия NUnit3TestAdapter: 4.5.0
  • Выполнение тестов с использованием: NUnit Test Runner в Visual Studio li>
  • Язык программирования: C#
  • Среда: Selenium WebDriver, Extent Reports
Структура кода:
  • Класс ExtentReportManager предназначен для реализации ITestListener.
  • BaseClass содержит такие методы, как CaptureScreen, инициализацию и разрыв WebDriver. вниз.
  • [SetUpFixture] используется для глобальной настройки тестирования и демонтажа.
Запрос рекомендаций:

Запросить рекомендации:

h1>
  • Как правильно подключить ExtentReportManager к выполнению теста NUnit, чтобы он прослушивал тестовые события?
  • Есть ли альтернатива способ зарегистрировать ITestListener для тестов, выполняемых в NUnit Test Runner в Visual Studio?
  • Есть ли предложения по беспрепятственному достижению этой интеграции в текущей среде NUnit?

    Предпринятые шаги:
    • Создан класс ExtentReportManager, реализующий интерфейс ITestListener для захвата событий жизненного цикла теста.

    Код: Выделить всё

    public class ExtentReportManager : ITestListener
    {
    private readonly BaseClass baseInstance;
    
    public ExtentReportManager(BaseClass baseInstance)
    {
    this.baseInstance = baseInstance;
    }
    
    public void TestStarted(ITest test)
    {
    // Logic to create a child node in Extent Report
    var testName = test.Name;
    baseInstance.CaptureScreen(testName); // Capture screenshot
    // Create and log to Extent Report
    }
    
    public void TestFinished(ITestResult result)
    {
    // Logic to finalize the test node in Extent Report
    }
    
    // Other ITestListener methods...
    }
    
    • Попытался подключить ExtentReportManager в классе [SetUpFixture] с помощью методов TestExecutionContext.CurrentContext.Listener и AddListener() в соответствии с рекомендациями ChatGPT:

      Попытался подключить ExtentReportManager в классе [SetUpFixture] с помощью методов TestExecutionContext.CurrentContext.Listener и AddListener(), как рекомендовано ChatGPT:

      li>

    Код: Выделить всё

    [SetUpFixture]
    public class ExtentReportSetUp
    {
    [OneTimeSetUp]
    public void GlobalSetup()
    {
    // Attempt 1: Direct assignment (does not work)
    // var extentReportManager = new ExtentReportManager(new BaseClass());
    // TestExecutionContext.CurrentContext.Listener = extentReportManager;
    
    // Attempt 2: AddListener (does not work)
    // TestExecutionContext.AddListener(extentReportManager);
    }
    
    [OneTimeTearDown]
    public void GlobalTeardown()
    {
    // Flush the Extent Report
    }
    }
    
    Обнаружена ошибка:

    Попытка использовать TestExecutionContext.CurrentContext.Listener приводит к ошибке: 'TestExecutionContext ' не содержит определения для "Прослушивателя".
  • Попытка использовать TestExecutionContext.AddListener() приводит к аналогичной ошибке, указывающей, что AddListener не является определено.
Ожидаемое поведение:
Я ожидал этого, прикрепив ExtentReportManager как прослушиватель, он будет фиксировать и фиксировать все события жизненного цикла теста в отчете об экстенте, делая отчет более информативным и полезным.
Фактическое поведение:
Тесты выполняются, но ExtentReportManager ничего не регистрирует в отчете об экстенте, поскольку он не подключен в качестве прослушивателя.


Подробнее здесь: https://stackoverflow.com/questions/790 ... est-runner
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»