Тест выполнен успешно, но отчет не расширяет отчет не генерируется в спецпроцессе - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время я работаю над дизайном моего проекта в Specflow.Я хочу внедрить некоторую отчетность в мой проект.В настоящее время я создал один отдельный файл .cs и сохранил все настройки отчета.Но когда я выполняю мой тестовый код успешно, но отчет не генерируется.я использую данный код, пожалуйста, проверьте и предложите мне

<code>SeleniumDriver.cs

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReportDemoPOC
{
    class SeleniumDriver
    {
        public static IWebDriver WebDriver { get; set; }

        public static string BaseAddress
        {
            get { return Constants.Url; }
        }

        public static void Intitialize()
        {
            WebDriver = new ChromeDriver();
            WebDriver.Manage().Window.Maximize();
            TurnOnWait();
        }

        public static void Navigate()
        {
            WebDriver.Navigate().GoToUrl(BaseAddress);
        }

        public static void Close()
        {
            WebDriver.Close();
        }
        public static void Quit()
        {
            WebDriver.Quit();
        }
        private static void TurnOnWait()
        {
            WebDriver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            WebDriver.Manage().Timeouts().PageLoad = TimeSpan.FromMinutes(2);
        }

        public void Shutdown()
        {
            WebDriver.Quit();
        }
    }
}

Start.cs

using AventStack.ExtentReports;
using AventStack.ExtentReports.Reporter;
using AventStack.ExtentReports.Reporter.Configuration;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TechTalk.SpecFlow;

namespace ReportDemoPOC
{

    public class Start
    {
        public static ExtentReports extent;
        public static ExtentHtmlReporter htmlReporter;
        public static ExtentTest test;

       static Start()
        {
            if (extent == null)
            {
                BasicSetUp();
            }

        }
        [BeforeScenario]
        public void Setup()
        {
            SeleniumDriver.Intitialize();
            SeleniumDriver.Navigate();
            test = extent.CreateTest(ScenarioContext.Current.ScenarioInfo.Title);
        }

        [AfterScenario]
        public void TearDown()
        {
            if (ScenarioContext.Current.TestError != null)
            {
                var error = ScenarioContext.Current.TestError;
                var errormessage = "<pre>" + error.Message + "
"; // Добавить строку снимка экрана здесь экстент. AddTestRunnerLogs (errormessage); test.Log (Status.Error, errormessage););} SeleniumDriver.Close ();} [OneTimeSetUp] публичная статическая пустота BasicSetUp () {string pth = System.Reflection.Assembly.GetCallingAssembly (). CodeBase; // string pth = System.IO.Directory.GetCurrentDirectory ();строка actualPath = pth.Substring (0, pth.LastIndexOf ("bin")); строка projectPath = new Uri (actualPath) .LocalPath; Console.WriteLine ("----------- Путь к проекту-------------------------------------- "); Console.WriteLine (projectPath); // строка reportPath= projectPath + "Reports \\" + FeatureContext.Current.FeatureInfo.Title + ".html"; строка reportPath = projectPath + "Reports \\ TestRunReport.html"; // Console.WriteLine ("Путь к отчету" + reportPath); htmlReporter = new ExtentHtmlReporter (reportPath); htmlReporter.Configuration (). Theme = Theme.Dark; htmlReporter.Configuration ().cumentTitle = "SpecFlow Test Resport Document";htmlReporter.Configuration (). ReportName = "Результаты выполнения компонента";экстент = новый ExtentReports ();extent.AttachReporter (htmlReporter);//extent.LoadConfig(projectPath + "Extent-Config.xml");} [AfterFeature ()] public static void EndReport () {deg .Flush ();}}} LoginSteps.cs using NUnit.Framework;используя ReportDemoPOC.Page;используя Систему;using System.Collections.Generic;использование System.Linq;используя System.Text;использование System.Threading.Tasks;using TechTalk.SpecFlow;пространство имен ReportDemoPOC.Steps {[Binding] [TestFixture] class LoginSteps: Start {LoginPage loginPage;[Given (@ "Я на странице входа в Facebook")] public void GivenIAmAtFacebookLoginPage () {// Navigate ();loginPage = new LoginPage ();} [When (@ "Я ввожу ashusoni (. *) @ Gmail \ .com в текстовое поле" Электронная почта или телефон ")] public void WhenIEnterAshusoniGmail_ComInTheEmailOrPhoneTextbox (String p0) {loginPage.enterValueInUser (" abcd "+ p0 +" @ gmail.com«);} [When (@ "Я ввожу (. *) В пароль")] public void WhenIEnterInThePassword (String p0) {loginPage.enterValueInPassword (p0);} [When (@ "Нажмите на кнопку входа")] public void WhenClickOnTheLoginButton () {loginPage.clickOnLoginButton ();} [Then (@ "Приложение должно отобразить сообщение об ошибке")] public void ThenApplicationShouldDisplayAnErrorMessage () {Console.WriteLine ("Verification");// loginPage.Shutdown ();}}}

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Возможно, ваш отчет создан во временной папке (через некоторое время я нашел его, используя поиск Windows).У меня то же самое при запуске моих тестов с использованием Visual Studio.Попробуйте запустить свой тест, используя консольное приложение Nunit.Загрузите его отдельно, затем запустите тесты, используя консольную команду

nunit "путь к скомпилированному .dll с тестами"

В этом случае, я думаю, вы должны найти отчеты рядом.Файл DLL.Это происходит в моем случае (с использованием отчетов Allure).

0 голосов
/ 18 ноября 2018

Это может звучать как не по теме, но все же ... Я не уверен, что имеет смысл использовать ExtentReports для вашей инфраструктуры автоматизации, написанной на C #.Начиная с v.4 ExtentReports они больше не поддерживают его.Ответ от них состоял в том, что они собираются поддерживать только Java.

0 голосов
/ 18 октября 2018

Это особенность NUnit 3. Вам нужно установить тестовый адаптер Visual Studio (https://github.com/nunit/docs/wiki/Visual-Studio-Test-Adapter) через пакет NuGet с именем «NUnit3TestAdapter», чтобы заставить OneTimeSetup работать.

Затем вы можетепроверьте вашу реализацию отчета :-)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...