/// <summary> /// Transforms the Engine result xml to a required readable format. /// </summary> /// <returns> /// The <see cref="string"/>. /// </returns> private TestResult SummaryTransformTest() { var transformPath = this.GetLocalPath("Summary.xslt"); StringWriter writer = new StringWriter(); new XmlTransformOutputWriter(transformPath).WriteResultFile(this.engineResult.Xml, writer); TestResult result = new TestResult(); if (this.engineResult.Xml.Attributes["failed"] != null) { result.Failed = Convert.ToInt32(this.engineResult.Xml.Attributes["failed"].Value); } if (this.engineResult.Xml.Attributes["passed"] != null) { result.Passed = Convert.ToInt32(this.engineResult.Xml.Attributes["passed"].Value); } if (this.engineResult.Xml.Attributes["total"] != null) { result.Total = Convert.ToInt32(this.engineResult.Xml.Attributes["total"].Value); } // Arrange failed tests summary details var xml = XDocument.Load(new XmlNodeReader(this.engineResult.Xml)); string details = string.Empty; IEnumerable <XElement> textSegs = xml.Descendants("test-case") .Where(x => x.Attribute("result").Value.Equals("Failed", StringComparison.InvariantCultureIgnoreCase)); if (textSegs.Any()) { foreach (var seg in textSegs) { var testCaseDescription = seg.Descendants("property") .FirstOrDefault(x => x.Attribute("name") != null && x.Attribute("name").Value == "Description"); details = string.Format( "\n\n\n TestCase: {0}", // \n Failing message:", testCaseDescription != null ? testCaseDescription.Attribute("value").Value : seg.Attributes("name").First().Value); //seg.Descendants("message").First().Value); } } result.StringResult = details; return(result); }
/// <summary> /// Transforms the Engine result xml to a required readable format. /// </summary> /// <returns> /// The <see cref="string"/>. /// </returns> private TestResult SummaryTransformTest() { var transformPath = this.GetLocalPath("Summary.xslt"); StringWriter writer = new StringWriter(); new XmlTransformOutputWriter(transformPath).WriteResultFile(this.engineResult.Xml, writer); TestResult result = new TestResult(); if (this.engineResult.Xml.Attributes["failed"] != null) { result.Failed = Convert.ToInt32(this.engineResult.Xml.Attributes["failed"].Value); } if (this.engineResult.Xml.Attributes["passed"] != null) { result.Passed = Convert.ToInt32(this.engineResult.Xml.Attributes["passed"].Value); } if (this.engineResult.Xml.Attributes["total"] != null) { result.Total = Convert.ToInt32(this.engineResult.Xml.Attributes["total"].Value); } // Arrange failed tests summary details var xml = XDocument.Load(new XmlNodeReader(this.engineResult.Xml)); string details = string.Empty; IEnumerable<XElement> textSegs = xml.Descendants("test-case") .Where(x => x.Attribute("result").Value.Equals("Failed", StringComparison.InvariantCultureIgnoreCase)); if (textSegs.Any()) { foreach (var seg in textSegs) { var testCaseDescription = seg.Descendants("property") .FirstOrDefault(x => x.Attribute("name") != null && x.Attribute("name").Value == "Description"); details = string.Format( "\n\n\n TestCase: {0}", // \n Failing message:", testCaseDescription != null ? testCaseDescription.Attribute("value").Value : seg.Attributes("name").First().Value); //seg.Descendants("message").First().Value); } } result.StringResult = details; return result; }