public void GenerateReport(ISuiteResult results) { var data = new Dictionary <string, object>(); var compiler = new FormatCompiler(); var assembly = Assembly.GetExecutingAssembly(); var stream = assembly.GetManifestResourceStream("WebDriverRunner.reporters.Trx.template.xml"); var reader = new StreamReader(stream); var generator = compiler.Compile(reader.ReadToEnd()); data["Name"] = results.Name; data["allCount"] = results.Results().Count; data["passedCount"] = results.PassedTests.Count; data["failedCount"] = results.FailedTests.Count; data["skippedCount"] = results.SkippedTests.Count; data["all"] = results.Results(); var duration = string.Format(" total :{0:%m}min{0:%s}sec ", results.Total); data["summary"] = "(" + results.PassedTests.Count + "," + +results.FailedTests.Count + "," + +results.SkippedTests.Count + ")" + duration; var content = generator.Render(data); var file = new StreamWriter(Output + "/" + "template.trx"); file.Write(content); file.Close(); }
public void GenerateReport(ISuiteResult results) { var dictionary = new Dictionary <string, List <ITestResult> >(); foreach (var result in results.Results()) { var attr = result.Instance.Attr; if (!dictionary.ContainsKey(attr.File)) { dictionary[attr.File] = new List <ITestResult>(); } dictionary[attr.File].Add(result); } var writer = new XmlTextWriter(Output + "/" + ReportName, null) { Formatting = Formatting.Indented }; writer.WriteStartElement("unitTest"); writer.WriteAttributeString("version", "1"); foreach (var file in dictionary.Keys) { writer.WriteStartElement("file"); writer.WriteAttributeString("path", file); foreach (var result in dictionary[file]) { writer.WriteStartElement("testCase"); writer.WriteAttributeString("name", result.Instance.ToString() + result.Uuid); writer.WriteAttributeString("duration", Math.Ceiling(result.Total.TotalMilliseconds).ToString()); if (result.Status != Status.Passed) { writer.WriteStartElement(MapToDesiredTag(result.Status)); if (result.Exception != null) { writer.WriteAttributeString("message", result.Exception.Message); writer.WriteString(result.Exception.StackTrace); } writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.Close(); }
public void GenerateReport(ISuiteResult results) { var dictionary = new Dictionary <string, List <ITestResult> >(); foreach (var result in results.Results()) { var attr = result.Instance.Attr; if (!dictionary.ContainsKey(attr.File)) { dictionary[attr.File] = new List <ITestResult>(); } dictionary[attr.File].Add(result); } foreach (var file in dictionary.Keys) { foreach (var result in dictionary[file]) { TcpClient clientSocket = new TcpClient(); clientSocket.Connect(_serviceHostName, _servicePort); NetworkStream serverStream = clientSocket.GetStream(); string dataToSend = "TestCaseName=" + result.Instance + ",TestId=" + result.Uuid + ",TestStatus=" + MapToDesiredTag(result.Status); if (result.Status != Status.Passed) { dataToSend = dataToSend + ",TestMessage=" + result.Exception.Message + ",TestStacktrace=" + result.Exception.StackTrace; } else { dataToSend = dataToSend + ",TestMessage=NA,TestStacktrace=na"; } dataToSend = dataToSend.Replace(Environment.NewLine, ""); byte[] outStream = Encoding.UTF8.GetBytes(dataToSend); serverStream.Write(outStream, 0, outStream.Length); serverStream.Flush(); clientSocket.Close(); } } }