В отчете по экстентам отображается неверное имя шага и заменяется - PullRequest
0 голосов
/ 12 ноября 2018

Я использую данный код в спецификации потока для генерации отчета по экстенту. Выполнение теста и отчет сгенерированы успешно, но неверное имя шага отображается в отчете экстента, а в отчете экстента заменить на Когда. Шаги подпадают под А и отображаются в разделе Когда, в то время как в файле объектов шаги, написанные в разделе А.

Шаги, записанные в разделе Синтаксис в файлах объектов и отображаемые в отчете Когда в экстенте.

Я использую следующий код для создания отчета по экстенту.

<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); } } } }

введите описание изображения здесь

1 Ответ

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

Возможно, проблема в том, что в SpecFlow основными ключевыми словами являются -

Дано, Когда, Тогда

Может быть, этот отчет принимает описания шагов не из файла объектов, а изсам код, где метод, я думаю, написан с ключевым словом " When ".

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