From 0b62ebe94e8872655dd11acbf8742809c63af53b Mon Sep 17 00:00:00 2001 From: AFAde Date: Mon, 18 Mar 2019 10:52:12 +0100 Subject: [PATCH 1/3] Read test case categories out of nunit test result file --- .../ExtentReportsDotNetCLI/Parser/NUnitParser.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs index 1fce869..503e94c 100644 --- a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs +++ b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs @@ -82,6 +82,9 @@ private static ExtentTest CreateNode(XElement tc, ExtentTest test) .Where(c => c.Attribute("name").Value.Equals("Description", StringComparison.CurrentCultureIgnoreCase)); var description = descriptions.Any() ? descriptions.ToArray()[0].Attribute("value").Value : string.Empty; var node = test.CreateNode(name, description); + var categories = tc.Descendants("property") + .Where(c => c.Attribute("name").Value.Equals("Category", StringComparison.CurrentCultureIgnoreCase)); + node.AssignCategory(categories.Select(c => c.Attribute("value").Value).ToArray()); return node; } From bdfb7de224668a9f33ebf7a2ff22f87b99916bbc Mon Sep 17 00:00:00 2001 From: "GRP\\FaralliA" Date: Mon, 18 Mar 2019 16:57:40 +0100 Subject: [PATCH 2/3] Fixed parsing of categories --- .../ExtentReportsDotNetCLI/Parser/NUnitParser.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs index 503e94c..11182c3 100644 --- a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs +++ b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs @@ -82,9 +82,6 @@ private static ExtentTest CreateNode(XElement tc, ExtentTest test) .Where(c => c.Attribute("name").Value.Equals("Description", StringComparison.CurrentCultureIgnoreCase)); var description = descriptions.Any() ? descriptions.ToArray()[0].Attribute("value").Value : string.Empty; var node = test.CreateNode(name, description); - var categories = tc.Descendants("property") - .Where(c => c.Attribute("name").Value.Equals("Category", StringComparison.CurrentCultureIgnoreCase)); - node.AssignCategory(categories.Select(c => c.Attribute("value").Value).ToArray()); return node; } @@ -129,10 +126,12 @@ private static HashSet ParseTags(XElement elem, bool allDescendents) : new Func>((e, s) => e.Elements(s)); var categories = new HashSet(); - if (parser(elem, "categories").Any()) + if (parser(elem, "properties").Any()) { - var tags = parser(elem, "categories").Elements("category").ToList(); - tags.ForEach(x => categories.Add(x.Attribute("name").Value)); + var tags = parser(elem, "properties").Elements("property") + .Where(c => c.Attribute("name").Value.Equals("Category", StringComparison.CurrentCultureIgnoreCase)) + .ToList(); + tags.ForEach(x => categories.Add(x.Attribute("value").Value)); } return categories; From 59c6caf69d10ba1332a0e02ab8e0d1c6b813ad63 Mon Sep 17 00:00:00 2001 From: "GRP\\FaralliA" Date: Tue, 19 Mar 2019 10:51:16 +0100 Subject: [PATCH 3/3] Fix category assignment at suite level --- .../ExtentReportsDotNetCLI/Parser/NUnitParser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs index 11182c3..0d2a800 100644 --- a/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs +++ b/ExtentReportsDotNetCLI/ExtentReportsDotNetCLI/Parser/NUnitParser.cs @@ -62,7 +62,7 @@ public void ParseTestRunnerOutput(string resultsFile) // get test suite level categories var suiteCategories = ParseTags(ts, false); - + test.AssignCategory(suiteCategories.ToArray()); // Test Cases foreach (var tc in ts.Descendants("test-case").ToList()) {