Пример #1
0
        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();
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
                }
            }
        }