Beispiel #1
0
 public TestListSection(List<NunitGoTest> tests)
 {
     var treeCode = Tree.GetTreeCode(tests);
     var stringWriter = new StringWriter();
     using (var writer = new HtmlTextWriter(stringWriter))
     {
         writer
             .Tag(HtmlTextWriterTag.Div,
                 () => writer
                     .Float("right")
                     .Div(() => writer
                         .DangerButton("Back", Output.Files.FullReportFile)
                     )
             )
             .Tag(HtmlTextWriterTag.Div, () => writer
                 .Write(treeCode)
             );
     }
     HtmlCode = stringWriter.ToString();
 }
Beispiel #2
0
        public TimelineSection(List<NunitGoTest> tests, string height = "90%")
        {
            var testResultsList = (from test in tests
                                   let start = test.DateTimeStart.ToString("HH:mm:ss")
                                   let finish = test.DateTimeFinish.ToString("HH:mm:ss")
                                   let toolitipText = "Test: " + test.FullName + ", " +
                                                       "Time: " + start + " - " + finish + ", " +
                                                       Environment.NewLine + "Result: " + test.Result
                                   let bcgColor = test.GetColor()
                                   select new HorizontalBarElement("", toolitipText, bcgColor, test.TestDuration,
                                       test.TestHrefRelative)).ToList();
            var timelineBar = new HorizontalBar("timeline-bar", "", testResultsList, false);
            var stringWriter = new StringWriter();
            using (var writer = new HtmlTextWriter(stringWriter))
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Height, height);
                writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, Colors.White);
                writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "scroll");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "1% 2% 3% 97%");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.DangerButton("Back", Output.Files.FullReportFile);
                writer.RenderEndTag(); //DIV

                writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "30px");
                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Timeline (" + tests.First().DateTimeStart
                    + "-" + tests.Last().DateTimeFinish + "):");
                writer.RenderEndTag();
                writer.Write(timelineBar.BarHtml);

                writer.RenderEndTag(); //DIV
            }
            HtmlCode = stringWriter.ToString();
        }
Beispiel #3
0
        public StatisticsSection(MainStatistics mainStats, string height = "90%")
        {
            var testResultsList = new List<HorizontalBarElement>
            {
                new HorizontalBarElement("Passed", "Passed (" + mainStats.TotalPassed + @"/" + mainStats.TotalAll + ")",
                    Colors.TestPassed,
                    mainStats.TotalPassed/(double)mainStats.TotalAll),
                new HorizontalBarElement("Failed", "Failed (" + mainStats.TotalFailed + @"/" + mainStats.TotalAll + ")",
                    Colors.TestFailed,
                    mainStats.TotalFailed/(double)mainStats.TotalAll),
                new HorizontalBarElement("Broken", "Broken (" + mainStats.TotalBroken + @"/" + mainStats.TotalAll + ")",
                    Colors.TestBroken,
                    mainStats.TotalBroken/(double)mainStats.TotalAll),
                new HorizontalBarElement("Ignored", "Ignored (" + mainStats.TotalIgnored + @"/" + mainStats.TotalAll + ")",
                    Colors.TestIgnored,
                    mainStats.TotalIgnored/(double)mainStats.TotalAll),
                new HorizontalBarElement("Inconclusive", "Iconclusive (" + mainStats.TotalInconclusive + @"/" + mainStats.TotalAll + ")",
                    Colors.TestInconclusive,
                    mainStats.TotalInconclusive/(double)mainStats.TotalAll),
                new HorizontalBarElement("Unknown", "Unknown (" + mainStats.TotalUnknown + @"/" + mainStats.TotalAll + ")",
                    Colors.TestUnknown,
                    mainStats.TotalUnknown/(double)mainStats.TotalAll)
            };
            var testResultsBar = new HorizontalBar("test-results-bar", "Test results bar", testResultsList);

            var testExecutedList = new List<HorizontalBarElement>
            {
                new HorizontalBarElement("Executed", "Executed (" + mainStats.TotalExecuted + @"/" + mainStats.TotalAll + ")",
                    Colors.TestPassed,
                    mainStats.TotalExecuted/(double)mainStats.TotalAll),
                new HorizontalBarElement("Not executed", "Not executed (" +
                    (mainStats.TotalAll-mainStats.TotalExecuted).ToString("D") + @"/" + mainStats.TotalAll + ")",
                    Colors.TestIgnored,
                    (mainStats.TotalAll-mainStats.TotalExecuted)/(double)mainStats.TotalAll)
            };
            var testExecutedBar = new HorizontalBar("test-success-bar", "Test success bar", testExecutedList);

            var testSuccessList = new List<HorizontalBarElement>
            {
                new HorizontalBarElement("True", "True (" + mainStats.TotalSuccessTrue + @"/" + mainStats.TotalExecuted + ")",
                    Colors.TestPassed,
                    mainStats.TotalSuccessTrue/(double)mainStats.TotalExecuted),
                new HorizontalBarElement("False", "False (" + mainStats.TotalSuccessFalse + @"/" + mainStats.TotalExecuted + ")",
                    Colors.TestFailed,
                    mainStats.TotalSuccessFalse/(double)mainStats.TotalExecuted)
            };
            var testSuccessBar = new HorizontalBar("test-success-bar", "Test success bar", testSuccessList);

            var stringWriter = new StringWriter();
            using (var writer = new HtmlTextWriter(stringWriter))
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Height, height);
                writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, Colors.White);
                writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "scroll");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "1% 2% 3% 97%");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.DangerButton("Back", Output.Files.FullReportFile);
                writer.RenderEndTag(); //DIV

                writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "30px");
                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Test cases results:");
                writer.RenderEndTag();
                writer.Write(testResultsBar.BarHtml);

                writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "30px");
                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Test cases success:");
                writer.RenderEndTag();
                writer.Write(testSuccessBar.BarHtml);

                writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "30px");
                writer.RenderBeginTag(HtmlTextWriterTag.H3);
                writer.Write("Executed test cases:");
                writer.RenderEndTag();
                writer.Write(testExecutedBar.BarHtml);

                writer.RenderEndTag(); //DIV
            }
            HtmlCode = stringWriter.ToString();
        }
Beispiel #4
0
        public NunitTestHtml(NunitGoTest nunitGoTest, string testOutput = "")
        {
            Style = GetStyle();
            ResultColor = nunitGoTest.GetColor();

            var strWr = new StringWriter();
            using (var writer = new HtmlTextWriter(strWr))
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Left, "0%");
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "test-window");
                writer.AddAttribute(HtmlTextWriterAttribute.Title, Title);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.WithAttr(HtmlTextWriterAttribute.Id, Id)
                    .Tag(HtmlTextWriterTag.Div, () => writer
                        .Css(HtmlTextWriterStyle.TextAlign, "center")
                        .Css(HtmlTextWriterStyle.BackgroundColor, Colors.TestBorderColor)
                        .Css("padding", "20px")
                        .Css("margin", "0")
                        .CssShadow("0 0 20px -5px black")
                        .Tag(HtmlTextWriterTag.H2, () => writer
                            .Text($"{nunitGoTest.Name}. Result: ")
                            .Css("padding", "10px")
                            .Css(HtmlTextWriterStyle.BackgroundColor, ResultColor)
                            .Tag(HtmlTextWriterTag.Span, nunitGoTest.Result))
                        .Css("float", "right")
                        .Css("padding", "10px")
                        .Tag(HtmlTextWriterTag.Div, () => writer
                            .DangerButton("Back", "./../../" + Output.Files.TestListFile))
                        .Css("table-layout", "fixed")
                        .Css("word-break", "break-all")
                        .Css(HtmlTextWriterStyle.Width, "100%")
                        .Css(HtmlTextWriterStyle.BackgroundColor, Colors.BodyBackground)
                        .Css("border-spacing", "0")
                        .CssShadow("0 0 20px 0 " + Colors.TestBorderColor)
                        .Tag(HtmlTextWriterTag.Table, () => writer
                            .Css(HtmlTextWriterStyle.Width, "50%")
                            .Tag(HtmlTextWriterTag.Col)
                            .Css(HtmlTextWriterStyle.Width, "50%")
                            .Tag(HtmlTextWriterTag.Col)
                            .Tag(HtmlTextWriterTag.Tr, () => writer
                                .Css(HtmlTextWriterStyle.Width, "50%")
                                .Css(HtmlTextWriterStyle.BackgroundColor, Colors.White)
                                .Tag(HtmlTextWriterTag.Td, () => writer
                                    .AddTestResult(nunitGoTest))
                                .Css(HtmlTextWriterStyle.Width, "50%")
                                .Css(HtmlTextWriterStyle.BackgroundColor, Colors.White)
                                .Tag(HtmlTextWriterTag.Td, () => writer
                                    .AddTestHistory(nunitGoTest))
                            ))
                        .WithAttr(HtmlTextWriterAttribute.Id, "tabs-container")
                        .Tag(HtmlTextWriterTag.Div, () => writer
                            .WithAttr(HtmlTextWriterAttribute.Class, "tabs-menu")
                            .Tag(HtmlTextWriterTag.Ul, () => writer
                                .WithAttr(HtmlTextWriterAttribute.Class, "current")
                                .Tag(HtmlTextWriterTag.Li, () => writer
                                    .WithAttr(HtmlTextWriterAttribute.Href, "#test-screenshots-href")
                                    .Tag(HtmlTextWriterTag.A, "Screenshots"))
                                .Tag(HtmlTextWriterTag.Li, () => writer
                                    .WithAttr(HtmlTextWriterAttribute.Href, "#test-failure-href")
                                    .Tag(HtmlTextWriterTag.A, "Failure"))
                                .Tag(HtmlTextWriterTag.Li, () => writer
                                    .WithAttr(HtmlTextWriterAttribute.Href, "#test-environment-href")
                                    .Tag(HtmlTextWriterTag.A, "Test environment"))
                                .Tag(HtmlTextWriterTag.Li, () => writer
                                    .WithAttr(HtmlTextWriterAttribute.Href, "#test-output-href")
                                    .Tag(HtmlTextWriterTag.A, "Output"))
                                .Tag(HtmlTextWriterTag.Li, () => writer
                                    .WithAttr(HtmlTextWriterAttribute.Href, "#test-events-href")
                                    .Tag(HtmlTextWriterTag.A, "Test events"))
                            )
                            .WithAttr(HtmlTextWriterAttribute.Class, "test-tab")
                            .Tag(HtmlTextWriterTag.Div, () => writer
                                .WithAttr(HtmlTextWriterAttribute.Id, "test-screenshots-href")
                                .WithAttr(HtmlTextWriterAttribute.Class, "tab-content")
                                .Tag(HtmlTextWriterTag.Div, () => writer
                                    .AddScreenshots(nunitGoTest))
                                .WithAttr(HtmlTextWriterAttribute.Id, "test-failure-href")
                                .WithAttr(HtmlTextWriterAttribute.Class, "tab-content")
                                .Tag(HtmlTextWriterTag.Div, () => writer
                                    .AddFailure(nunitGoTest))
                                .WithAttr(HtmlTextWriterAttribute.Id, "test-environment-href")
                                .WithAttr(HtmlTextWriterAttribute.Class, "tab-content")
                                .Tag(HtmlTextWriterTag.Div, () => writer
                                    .AddEnvironment())
                                .WithAttr(HtmlTextWriterAttribute.Id, "test-output-href")
                                .WithAttr(HtmlTextWriterAttribute.Class, "tab-content")
                                .Tag(HtmlTextWriterTag.Div, () => writer
                                    .AddOutput(nunitGoTest, testOutput))
                                .WithAttr(HtmlTextWriterAttribute.Id, "test-events-href")
                                .WithAttr(HtmlTextWriterAttribute.Class, "tab-content")
                                .Tag(HtmlTextWriterTag.Div, () => writer
                                    .AddTestEvents(nunitGoTest)))
                        )
                    );

                writer.RenderEndTag(); //DIV
            }

            HtmlCode = strWr.ToString();
        }