public static void InitializeReport() { _logs = new List <string>(); _report = new ReportLogs { Name = "Trade Me Sandbox Test Automation" }; var reportsFilenamePrefix = "Trade Me Sandbox"; var reportsDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Reports"); if (!Directory.Exists(reportsDirectory)) { Directory.CreateDirectory(reportsDirectory); } var reportsFilename = $"{reportsFilenamePrefix}_{DateTime.Now:yyyyMMdd_HHmmss}_Test Automation.html"; var reportsPath = Path.Combine(reportsDirectory, reportsFilename); _v3HtmlReporter = new ExtentV3HtmlReporter(reportsPath); _v3HtmlReporter.LoadConfig(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "extent-config.xml")); _v3HtmlReporter.Start(); _extent = new ExtentReports(); _extent.AttachReporter(_v3HtmlReporter); }
public static void ReportSetup() { if (Properties.Test.Default.GenerateReport) { _report = new ReportLogs { Name = "AzureCalculator_API" }; _v3HtmlReporter = ReportGenerator.InitializeReport("AzureCalculator_API"); _v3HtmlReporter.Start(); _extent = new ExtentReports(); _extent.AttachReporter(_v3HtmlReporter); } }
public static void CreateStepNode( ReportLogs report, List <string> logs, FeatureContext featureContext, TestContext testContext, ScenarioContext scenarioContext, Contexts contexts) { if (report.Features == null) { report.Features = new List <FeatureNode>(); } var feature = report.Features.Find(f => f.Name == featureContext.FeatureInfo.Title); if (feature == null) { feature = new FeatureNode { Name = featureContext.FeatureInfo.Title }; report.Features.Add(feature); } if (feature.Scenarios == null) { feature.Scenarios = new List <ScenarioNode>(); } var scenario = feature.Scenarios.Find(s => s.Name == testContext.TestName); if (scenario == null) { scenario = new ScenarioNode { Name = testContext.TestName, Tags = scenarioContext.ScenarioInfo.Tags }; feature.Scenarios.Add(scenario); } var keyword = scenarioContext.StepContext.StepInfo.StepInstance.Keyword; var step = scenarioContext.StepContext.StepInfo.StepInstance.Text; if (string.IsNullOrEmpty(keyword)) { keyword = scenarioContext.StepContext.StepInfo.StepInstance.StepDefinitionKeyword.ToString(); logs.Add($"{keyword} {step}"); logs.AddRange(contexts.Logs); } else { logs = logs?.Select(x => " " + x.Replace("<br />", "<br /> ")).ToList(); logs.AddRange(contexts.Logs); if (scenario.Steps == null) { scenario.Steps = new List <StepNode>(); } if (scenarioContext.TestError == null) { scenario.Steps.Add(new StepNode { Keyword = keyword, Name = step, Pass = true, Logs = new List <string>(logs), ErrorMessage = string.Empty, Screenshot = string.Empty }); } else { scenario.Steps.Add(new StepNode { Keyword = keyword, Name = step, Pass = scenarioContext.TestError == null, Logs = new List <string>(logs), ErrorMessage = scenarioContext.TestError.Message, Screenshot = report.Name.Contains("API")? string.Empty : contexts.Screenshot }); } } }