В настоящее время я работаю над дизайном моего проекта в 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 ();}}}