t.me/atinfo_chat Telegram группа по автоматизации тестирования

Возможность создания нескольких отчетов Extent Report и их объединение в один

csharp
specflow
nunit
jenkins
reporting
selenium
webdriver
Теги: #<Tag:0x00007f21e53a14d0> #<Tag:0x00007f21e53a1340> #<Tag:0x00007f21e53a1188> #<Tag:0x00007f21e53a0fa8> #<Tag:0x00007f21e53a0d78> #<Tag:0x00007f21e53a0b98> #<Tag:0x00007f21e53a0a30>

(Максим Лаптев) #1

Добрый день, использую SpecFlow + Nunit
Отчет строится после прохождения сценариев с помощью Extent Report

        public static void InitializeReport()
        {
            var htmlReporter = new ExtentHtmlReporter(pathDir + "\\Report.html");
            extent = new ExtentReports();
            extent.AttachReporter(htmlReporter);

        }
        ................................
        [AfterTestRun]
        public static void TearDownReport()
        {
            extent.Flush();
        }

В целом работает, отчет строится, шаги в отчете отображаются, но есть проблемы:

  1. Я указываю имя отчета Report.html, но в папке по умолчанию 2 файла index.html и dashboard.html, каким образом я могу наблюдать отчет с именем которое я указываю?
  2. Тесты запускаются через консоль, например 2 разных сценария через некоторый промежуток,
    nunit3-console.exe "%pathToDll%" --where "test == PackageName.Test.Smoke1" и nunit3-console.exe "%pathToDll%" --where "test == PackageName.Test.Smoke2".
    Соответственно файлы ndex.html и dashboard.html перетираются. Собственно вопрос, каким образом я могу наблюдать 2 отчета по выполненным тестам? наверное это через решение п.1?
  3. Допустим получили 2 отчета, каким образом объединить все в один отчет? Если запустить nunit3-console.exe "%pathToDll%" --where "test == PackageName.Test"
    то конечно построится один отчет, но запуск тестов необходимо разделять.

(Vladislav Abramov) #2

тут на сцену выходит allure, который нормально генерит отчет по неважно скольки запускам тестов!

да и тесты, на вашем месте, я бы запускал по тегам, а не по имени пэкеджа; это намного удобнее


(Максим Лаптев) #3

allure не совместим с версией SpecFlow 3.0, после долгих поисков относительно нормально заработал Extent Report


(Vladislav Abramov) #4

тем более, если судить по тегам, у вас дженкинс

у нас ci на гитлабе сделан, приходится абсолютно всю информацию по тестам руками подкладывать в нужные каталоги кодом или скриптами


(Vladislav Abramov) #5

а опустить версию спекфлоу не вариант?

я как-то по дурости на 3 версию прыгнул, автоматом обновив нугеты все, увидел кучу ошибок, почитал, что в 3 версии breaking change относительно второй и решил пока не спешить


(Максим Лаптев) #6

Была попытка, куча всего перестает работать, куча ошибок и либо как-то чинить все это дело, либо искать решение в Extent Report


(Максим Лаптев) #7

Хотя наврал, пару ошибок

|Error|CS0433|The type 'IObjectContainer' exists in both 'BoDi, Version=1.4.1.0, Culture=neutral, PublicKeyToken=ff7cd5ea2744b496' and 'TechTalk.SpecFlow, Version=2.4.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41'
Может действительно лучше перейти на версию ниже


(Vladislav Abramov) #8

я себе в бэклог положил задачу переезда на 3 спефлоу, но, походу не надо такое счастье

у нас бизнесмены заходят смотреть отчёты автотестов, им очень нравится бублик в аллюре (зелёный естественно)
а если на 3 спекфлоу проблемы с отображением результатов, то это реально бестолковая идея апгрейдиться