Я использую данный код в спецификации потока для генерации отчета по экстенту. Выполнение теста и отчет сгенерированы успешно, но неверное имя шага отображается в отчете экстента, а в отчете экстента заменить на Когда. Шаги подпадают под А и отображаются в разделе Когда, в то время как в файле объектов шаги, написанные в разделе А.
Шаги, записанные в разделе Синтаксис в файлах объектов и отображаемые в отчете Когда в экстенте.
Я использую следующий код для создания отчета по экстенту.
<code>using AventStack.ExtentReports;
using AventStack.ExtentReports.Gherkin.Model;
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 ALD_Belgium
{
[Binding]
[TestFixture]
class Hooks
{
public static ExtentTest featureName;
public static ExtentReports extent;
public static ExtentHtmlReporter htmlReporter;
public static ExtentTest test;
// public static object Theme { get; private set; }
static Hooks()
{
if (extent == null)
{
BasicSetUp();
}
}
[BeforeFeature]
public static void BeforeFeature()
{
featureName = extent.CreateTest<Feature>(FeatureContext.Current.FeatureInfo.Title);
}
[BeforeScenario]
public static void Setup()
{
BasePage.Intitialize();
BasePage.Navigate();
// test = extent.CreateTest(ScenarioContext.Current.ScenarioInfo.Title);
test = featureName.CreateNode<Scenario>(ScenarioContext.Current.ScenarioInfo.Title);
}
[AfterScenario]
public void TearDown()
{
if (ScenarioContext.Current.TestError != null)
{
var error = ScenarioContext.Current.TestError;
var errormessage = "<pre>" + error.Message + "
";
extent.AddTestRunnerLogs (ErrorMessage);
test.Log (Status.Error, errormessage);
test.Fail (ErrorMessage);
}
BasePage.Quit ();
}
[OneTimeSetUp]
public static void BasicSetUp ()
{
string pth = System.Reflection.Assembly.GetCallingAssembly (). CodeBase;
// string pth = System.IO.Directory.GetCurrentDirectory ();
string actualPath = pth.Substring (0, pth.LastIndexOf ("bin"));
string projectPath = new Uri (actualPath) .LocalPath;
Console.WriteLine ("----------- Путь к проекту -------------------------------- ------ ");
ЕЫпе (projectPath);
string reportPath = projectPath + "Reports \\ TestExecutionRunReport.html";
// Console.WriteLine («Путь к отчету» + reportPath);
htmlReporter = new ExtentHtmlReporter (reportPath);
htmlReporter.Configuration (). Theme = Theme.Dark;
htmlReporter.Configuration (). DocumentTitle = "SpecFlow Test Resport Document";
htmlReporter.Configuration (). ReportName = "Результаты выполнения компонента";
экстент = новый ExtentReports ();
extent.AttachReporter (htmlReporter);
//extent.LoadConfig(projectPath + "Extent-Config.xml");
}
[AfterTestRun]
public static void EndReport ()
{
extent.Flush ();
}
[AfterStep]
public static void InsertReportingSteps ()
{
var stepType = ScenarioStepContext.Current.StepInfo.StepDefinitionType.ToString ();
if (ScenarioContext.Current.TestError == null)
{
if (stepType == "Данный")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text);
еще если (stepType == "Когда")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text);
еще если (stepType == "И")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text);
еще если (stepType == "Тогда")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text);
}
иначе если (ScenarioContext.Current.TestError! = null)
{
if (stepType == "Данный")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text) .Fail (ScenarioContext.Current.TestError.Message);
еще если (stepType == "Когда")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text) .Fail (ScenarioContext.Current.TestError.Message);
еще если (stepType == "И")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text) .Fail (ScenarioContext.Current.TestError.Message);
еще если (stepType == "Тогда")
test.CreateNode (ScenarioStepContext.Current.StepInfo.Text) .Fail (ScenarioContext.Current.TestError.Message);
}
}
}
}
введите описание изображения здесь