示例#1
0
        public static string GetTestSource(Test Test)
        {
            string testSource = TestHtml.GetSource(3);
            string stepSource = StepHtml.GetSource(2);

            if (Test.Logs.Count > 0 && Test.Logs[0].StepName != "")
            {
                testSource = TestHtml.GetSource(4);
                stepSource = StepHtml.GetSource(-1);
            }

            if (Test.Description == "")
            {
                testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("descVis"), "style='display:none;'");
            }

            testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("testName"), Test.Name)
                         .Replace(ExtentFlag.GetPlaceHolder("testStatus"), Test.Status.ToString().ToLower())
                         .Replace(ExtentFlag.GetPlaceHolder("testStartTime"), Test.StartedTime.ToString())
                         .Replace(ExtentFlag.GetPlaceHolder("testEndTime"), Test.EndedTime.ToString())
                         .Replace(ExtentFlag.GetPlaceHolder("testTimeTaken"), (Test.EndedTime - Test.StartedTime).Minutes + "m " + (Test.EndedTime - Test.StartedTime).Seconds + "s")
                         .Replace(ExtentFlag.GetPlaceHolder("testDescription"), Test.Description)
                         .Replace(ExtentFlag.GetPlaceHolder("descVis"), "")
                         .Replace(ExtentFlag.GetPlaceHolder("category"), "")
                         .Replace(ExtentFlag.GetPlaceHolder("testWarnings"), TestHtml.GetWarningSource(Test.InternalWarning));

            foreach (TestAttribute t in Test.CategoryList)
            {
                testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("testCategory"), TestHtml.GetCategorySource() + ExtentFlag.GetPlaceHolder("testCategory"))
                             .Replace(ExtentFlag.GetPlaceHolder("category"), t.GetName());
            }

            foreach (var log in Test.Logs)
            {
                testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("step"), stepSource + ExtentFlag.GetPlaceHolder("step"))
                             .Replace(ExtentFlag.GetPlaceHolder("timeStamp"), log.Timestamp.ToShortTimeString())
                             .Replace(ExtentFlag.GetPlaceHolder("stepStatusU"), log.LogStatus.ToString().ToUpper())
                             .Replace(ExtentFlag.GetPlaceHolder("stepStatus"), log.LogStatus.ToString().ToLower())
                             .Replace(ExtentFlag.GetPlaceHolder("statusIcon"), Icon.GetIcon(log.LogStatus))
                             .Replace(ExtentFlag.GetPlaceHolder("stepName"), log.StepName)
                             .Replace(ExtentFlag.GetPlaceHolder("details"), log.Details);
            }

            testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("step"), "");

            return(testSource);
        }
示例#2
0
        private static StepHtml CreateBigHtml()
        {
            var builder = new StringBuilder();

            builder.Append("<html><head></head><body>");
            builder.Append(
                "<p>This is just a dummy html code with lot of content to generate a lot of big data to write for load testing.<p>");
            for (int i = 0; i < 1000; i++)
            {
                builder.Append(
                    "<div class=\"dummyParagraph" + i
                    + "\">This is just a dummy html code with lot of content to generate a lot of big data to write for load testing.</div>");
            }

            builder.Append("</body></html>");

            var html = new StepHtml {
                HtmlSource = builder.ToString()
            };

            return(html);
        }
示例#3
0
        public static string GetSource(Test test)
        {
            if (test.IsChildNode)
            {
                return("");
            }

            var testSource = TestHtml.GetSource(3);
            var stepSource = StepHtml.GetSource(2);

            if (test.Logs.Count > 0 && test.Logs[0].StepName != "")
            {
                testSource = TestHtml.GetSource(4);
                stepSource = StepHtml.GetSource(-1);
            }

            if (test.Description == "")
            {
                testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("descVis"), "style='display:none;'");
            }

            string[] testFlags =
            {
                ExtentFlag.GetPlaceHolder("testName"),
                ExtentFlag.GetPlaceHolder("testStatus"),
                ExtentFlag.GetPlaceHolder("testStartTime"),
                ExtentFlag.GetPlaceHolder("testEndTime"),
                ExtentFlag.GetPlaceHolder("testTimeTaken"),
                ExtentFlag.GetPlaceHolder("testDescription"),
                ExtentFlag.GetPlaceHolder("descVis"),
                ExtentFlag.GetPlaceHolder("category"),
                ExtentFlag.GetPlaceHolder("testWarnings")
            };
            string[] testValues =
            {
                test.Name,
                test.Status.ToString().ToLower(),
                test.StartedTime.ToString(),
                test.EndedTime.ToString(),
                (test.EndedTime - test.StartedTime).Minutes + "m " + (test.EndedTime - test.StartedTime).Seconds + "s",
                test.Description,
                "",
                "",
                TestHtml.GetWarningSource(test.InternalWarning)
            };

            testSource = SourceBuilder.Build(testSource, testFlags, testValues);

            testFlags = new string[] {
                ExtentFlag.GetPlaceHolder("testCategory"),
                ExtentFlag.GetPlaceHolder("category")
            };

            test.CategoryList.ForEach(attr =>
            {
                testValues = new string[] {
                    TestHtml.GetCategorySource() + ExtentFlag.GetPlaceHolder("testCategory"),
                    attr.GetName()
                };

                testSource = SourceBuilder.Build(testSource, testFlags, testValues);
            });

            var stepSrc = StepHtml.GetSource(2);

            string[] stepFlags =
            {
                ExtentFlag.GetPlaceHolder("step"),
                ExtentFlag.GetPlaceHolder("timeStamp"),
                ExtentFlag.GetPlaceHolder("stepStatusU"),
                ExtentFlag.GetPlaceHolder("stepStatus"),
                ExtentFlag.GetPlaceHolder("statusIcon"),
                ExtentFlag.GetPlaceHolder("stepName"),
                ExtentFlag.GetPlaceHolder("details")
            };
            string[] stepValues;

            if (test.Logs.Count > 0)
            {
                if (test.Logs[0].StepName != "")
                {
                    stepSrc = StepHtml.GetSource(3);
                }

                test.Logs.ForEach(log =>
                {
                    stepValues = new string[] {
                        stepSrc + ExtentFlag.GetPlaceHolder("step"),
                        log.Timestamp.ToShortTimeString(),
                        log.LogStatus.ToString().ToUpper(),
                        log.LogStatus.ToString().ToLower(),
                        Icon.GetIcon(log.LogStatus),
                        log.StepName,
                        log.Details
                    };

                    testSource = SourceBuilder.Build(testSource, stepFlags, stepValues);
                });
            }

            testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("step"), "");

            testSource = AddChildTests(test, testSource, 1);

            return(testSource);
        }
示例#4
0
        private static string AddChildTests(Test test, String testSource, int nodeLevel)
        {
            string nodeSource, stepSrc = "";

            string[] testValues, stepValues;

            string[] testFlags =
            {
                ExtentFlag.GetPlaceHolder("nodeList"),
                ExtentFlag.GetPlaceHolder("nodeName"),
                ExtentFlag.GetPlaceHolder("nodeStartTime"),
                ExtentFlag.GetPlaceHolder("nodeEndTime"),
                ExtentFlag.GetPlaceHolder("nodeTimeTaken"),
                ExtentFlag.GetPlaceHolder("nodeLevel")
            };
            string[] stepFlags =
            {
                ExtentFlag.GetPlaceHolder("nodeStep"),
                ExtentFlag.GetPlaceHolder("timeStamp"),
                ExtentFlag.GetPlaceHolder("stepStatusU"),
                ExtentFlag.GetPlaceHolder("stepStatus"),
                ExtentFlag.GetPlaceHolder("statusIcon"),
                ExtentFlag.GetPlaceHolder("stepName"),
                ExtentFlag.GetPlaceHolder("details")
            };

            test.NodeList.ForEach(node =>
            {
                nodeSource = TestHtml.GetNodeSource(3);

                if (node.Logs.Count > 0 && node.Logs[0].StepName != "")
                {
                    nodeSource = TestHtml.GetNodeSource(4);
                }

                testValues = new string[] {
                    nodeSource + ExtentFlag.GetPlaceHolder("nodeList"),
                    node.Name,
                    node.StartedTime.ToString(),
                    node.EndedTime.ToString(),
                    (node.EndedTime - node.StartedTime).Minutes + "m " + (node.EndedTime - node.StartedTime).Seconds + "s",
                    "node-" + nodeLevel + "x"
                };

                testSource = SourceBuilder.Build(testSource, testFlags, testValues);

                if (node.Logs.Count > 0)
                {
                    testSource = testSource.Replace(ExtentFlag.GetPlaceHolder("nodeStatus"), node.Status.ToString().ToLower());

                    stepSrc = StepHtml.GetSource(2);

                    if (node.Logs[0].StepName != "")
                    {
                        stepSrc = StepHtml.GetSource(3);
                    }

                    node.Logs.ForEach(log =>
                    {
                        stepValues = new string[] {
                            stepSrc + ExtentFlag.GetPlaceHolder("nodeStep"),
                            log.Timestamp.ToShortTimeString(),
                            log.LogStatus.ToString().ToUpper(),
                            log.LogStatus.ToString().ToLower(),
                            Icon.GetIcon(log.LogStatus),
                            log.StepName,
                            log.Details
                        };

                        testSource = SourceBuilder.Build(testSource, stepFlags, stepValues);
                    });
                }

                testSource = SourceBuilder.Build(testSource, new string[] { ExtentFlag.GetPlaceHolder("step"), ExtentFlag.GetPlaceHolder("nodeStep") }, new string[] { "", "" });

                if (node.HasChildNodes)
                {
                    testSource = AddChildTests(node, testSource, ++nodeLevel);
                    --nodeLevel;
                }
            });

            return(testSource);
        }
示例#5
0
        public static string GetSource(Test test)
        {
            string result;

            if (test.IsChildNode)
            {
                result = string.Empty;
            }
            else
            {
                string text   = TestHtml.GetSource(3);
                string source = StepHtml.GetSource(2);
                if (test.Logs.Count > 0 && test.Logs[0].StepName != "")
                {
                    text   = TestHtml.GetSource(4);
                    source = StepHtml.GetSource(-1);
                }
                if (string.IsNullOrEmpty(test.Description))
                {
                    text = text.Replace(UnifiedReportFlag.GetPlaceHolder("descVis"), "style='display:none;'");
                }
                string[] flags = new string[]
                {
                    UnifiedReportFlag.GetPlaceHolder("testName"),
                    UnifiedReportFlag.GetPlaceHolder("testStatus"),
                    UnifiedReportFlag.GetPlaceHolder("testStartTime"),
                    UnifiedReportFlag.GetPlaceHolder("testEndTime"),
                    UnifiedReportFlag.GetPlaceHolder("testTimeTaken"),
                    UnifiedReportFlag.GetPlaceHolder("testDescription"),
                    UnifiedReportFlag.GetPlaceHolder("descVis"),
                    UnifiedReportFlag.GetPlaceHolder("category"),
                    UnifiedReportFlag.GetPlaceHolder("testWarnings")
                };
                string[] values = new string[]
                {
                    test.Name,
                    test.Status.ToString().ToLower(),
                    test.StartedTime.ToString(),
                    test.EndedTime.ToString(),
                    string.Concat(new object[]
                    {
                        (test.EndedTime - test.StartedTime).Minutes,
                        "m ",
                        (test.EndedTime - test.StartedTime).Seconds,
                        "s"
                    }),
                    test.Description,
                    "",
                    "",
                    TestHtml.GetWarningSource(test.InternalWarning)
                };
                text = SourceBuilder.Build(text, flags, values);
                foreach (TestAttribute current in test.CategoryList)
                {
                    text = text.Replace(UnifiedReportFlag.GetPlaceHolder("testCategory"), TestHtml.GetCategorySource() + UnifiedReportFlag.GetPlaceHolder("testCategory")).Replace(UnifiedReportFlag.GetPlaceHolder("category"), current.GetName());
                }
                string   source2 = StepHtml.GetSource(2);
                string[] flags2  = new string[]
                {
                    UnifiedReportFlag.GetPlaceHolder("step"),
                    UnifiedReportFlag.GetPlaceHolder("timeStamp"),
                    UnifiedReportFlag.GetPlaceHolder("stepStatusU"),
                    UnifiedReportFlag.GetPlaceHolder("stepStatus"),
                    UnifiedReportFlag.GetPlaceHolder("statusIcon"),
                    UnifiedReportFlag.GetPlaceHolder("stepName"),
                    UnifiedReportFlag.GetPlaceHolder("details")
                };
                if (test.Logs.Count > 0)
                {
                    if (!string.IsNullOrEmpty(test.Logs[0].StepName))
                    {
                        source2 = StepHtml.GetSource(3);
                    }
                    for (int i = 0; i < test.Logs.Count; i++)
                    {
                        string[] values2 = new string[]
                        {
                            source2 + UnifiedReportFlag.GetPlaceHolder("step"),
                            test.Logs[i].Timestamp.ToShortTimeString(),
                            test.Logs[i].LogStatus.ToString().ToUpper(),
                            test.Logs[i].LogStatus.ToString().ToLower(),
                            Icon.GetIcon(test.Logs[i].LogStatus),
                            test.Logs[i].StepName,
                            test.Logs[i].Details
                        };
                        text = SourceBuilder.Build(text, flags2, values2);
                    }
                }
                text   = text.Replace(UnifiedReportFlag.GetPlaceHolder("step"), "");
                text   = TestBuilder.AddChildTests(test, text, 1);
                result = text;
            }
            return(result);
        }
示例#6
0
 private static string AddChildTests(Test test, string testSource, int nodeLevel)
 {
     string[] flags = new string[]
     {
         UnifiedReportFlag.GetPlaceHolder("nodeList"),
         UnifiedReportFlag.GetPlaceHolder("nodeName"),
         UnifiedReportFlag.GetPlaceHolder("nodeStartTime"),
         UnifiedReportFlag.GetPlaceHolder("nodeEndTime"),
         UnifiedReportFlag.GetPlaceHolder("nodeTimeTaken"),
         UnifiedReportFlag.GetPlaceHolder("nodeLevel")
     };
     string[] flags2 = new string[]
     {
         UnifiedReportFlag.GetPlaceHolder("nodeStep"),
         UnifiedReportFlag.GetPlaceHolder("timeStamp"),
         UnifiedReportFlag.GetPlaceHolder("stepStatusU"),
         UnifiedReportFlag.GetPlaceHolder("stepStatus"),
         UnifiedReportFlag.GetPlaceHolder("statusIcon"),
         UnifiedReportFlag.GetPlaceHolder("stepName"),
         UnifiedReportFlag.GetPlaceHolder("details")
     };
     foreach (Test current in test.NodeList)
     {
         string nodeSource = TestHtml.GetNodeSource(3);
         if (current.Logs.Count > 0 && current.Logs[0].StepName != "")
         {
             nodeSource = TestHtml.GetNodeSource(4);
         }
         string[] values = new string[]
         {
             nodeSource + UnifiedReportFlag.GetPlaceHolder("nodeList"),
             current.Name,
             current.StartedTime.ToString(),
             current.EndedTime.ToString(),
             string.Concat(new object[]
             {
                 (current.EndedTime - current.StartedTime).Minutes,
                 "m ",
                 (current.EndedTime - current.StartedTime).Seconds,
                 "s"
             }),
             "node-" + nodeLevel + "x"
         };
         testSource = SourceBuilder.Build(testSource, flags, values);
         if (current.Logs.Count > 0)
         {
             testSource = testSource.Replace(UnifiedReportFlag.GetPlaceHolder("nodeStatus"), current.Status.ToString().ToLower());
             string source = StepHtml.GetSource(2);
             if (current.Logs[0].StepName != "")
             {
                 source = StepHtml.GetSource(3);
             }
             for (int i = 0; i < current.Logs.Count; i++)
             {
                 string[] values2 = new string[]
                 {
                     source + UnifiedReportFlag.GetPlaceHolder("nodeStep"),
                     current.Logs[i].Timestamp.ToShortTimeString(),
                     current.Logs[i].LogStatus.ToString().ToUpper(),
                     current.Logs[i].LogStatus.ToString().ToLower(),
                     Icon.GetIcon(current.Logs[i].LogStatus),
                     current.Logs[i].StepName,
                     current.Logs[i].Details
                 };
                 testSource = SourceBuilder.Build(testSource, flags2, values2);
             }
         }
         testSource = SourceBuilder.Build(testSource, new string[]
         {
             UnifiedReportFlag.GetPlaceHolder("step"),
             UnifiedReportFlag.GetPlaceHolder("nodeStep")
         }, new string[] { string.Empty, string.Empty }
                                          );
         if (current.HasChildNodes)
         {
             testSource = TestBuilder.AddChildTests(current, testSource, ++nodeLevel);
             nodeLevel--;
         }
     }
     return(testSource);
 }