コード例 #1
0
 public String GenerateHTMLReport(TestSuite testSuite)
 {
     try
     {
         String currentDirectoryPath         = AppDomain.CurrentDomain.BaseDirectory;
         String testSuiteStartTemplateBuffer = TemplatesForHtmlReport.GetTestSuiteStartTemplate();
         String testSuiteEndTemplateBuffer   = TemplatesForHtmlReport.GetTestSuiteEndTemplate();
         String allTestSuiteHtml             = this.BuildTestSuite(testSuiteStartTemplateBuffer.ToString(), testSuite);
         String allTestCasesHtml             = this.BuildTestCasesAndTestSteps(currentDirectoryPath, testSuite);
         String testSuiteEnd = testSuiteEndTemplateBuffer.ToString();
         testSuiteEnd     = testSuiteEnd.Replace("<%=PassedTestCases%>", testSuite.GetPassed().ToString());
         testSuiteEnd     = testSuiteEnd.Replace("<%=FailedTestCases%>", testSuite.GetFailed().ToString());
         allTestSuiteHtml = allTestSuiteHtml + allTestCasesHtml;
         allTestSuiteHtml = allTestSuiteHtml + testSuiteEnd;
         return(allTestSuiteHtml);
     }
     catch (IOException e)
     {
         throw new Exception(("Not able to generate HTML report due to " + e.Message));
     }
 }
コード例 #2
0
        private String BuildTestCasesAndTestSteps(String currentDirectoryPath, TestSuite testSuite)
        {
            String testCaseStartTemplateBuffer = TemplatesForHtmlReport.GetTestCaseStartTemplate();
            String testCaseEndTemplateBuffer   = TemplatesForHtmlReport.GetTestCaseEndTemplate();
            String testStepTemplateBuffer      = TemplatesForHtmlReport.GetTestStepTemplate();
            String screenShotsTemplateStart    = TemplatesForHtmlReport.GetScreenShotsTemplate();
            String allTestCasesHtml            = "";

            for (int testCaseIndex = 0; (testCaseIndex < testSuite.GetListOfTestCases().Count); testCaseIndex++)
            {
                TestCase testCase             = testSuite.GetListOfTestCases()[testCaseIndex];
                String   testCaseUniqueString = Guid.NewGuid().ToString();
                String   testCaseStartHtml    = testCaseStartTemplateBuffer.ToString();
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Number%>", testCaseUniqueString);
                if ((testCase.GetTestCaseName().Length >= 35))
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Name%>", testCase.GetTestCaseName().Substring(0, 35) + " .....");
                }
                else
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Name%>", testCase.GetTestCaseName());
                }

                String[] testCases = testCase.GetTestCaseName().Split(' ');
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Name_Afer_Expansion%>", testCase.GetTestCaseName());

                if (testCase.IsStatus())
                {
                    testCaseStartHtml = testCaseStartHtml.Replace(" <span class=\"label label-danger\" title=\"Failed\">Failed</span>", "");
                }
                else
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<span class=\"label label-success\" title=\"Passed\">Passed</span>", "");
                }

                if (testCase.GetErrorMessage() != null)
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=ErrorMessage%>", "<b>Error Message : </b>"
                                                                  + testCase.GetErrorMessage() + "");
                }
                else
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=ErrorMessage%>", "");
                }

                if (testCase.GetImageContent() == null || testCase.GetImageContent() == "")
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=ScreenShot%>", "");
                }
                else
                {
                    testCaseStartHtml = testCaseStartHtml.Replace("<%=ScreenShot%>", "<a class=\"screenshot\" href=\"data:image/png;base64,"
                                                                  + testCase.GetImageContent() + "\">\n" + "                                        <img class=\"screenshot\" style=\"height:100%;width:100%\" id" +
                                                                  "=\"my_images\" src=\"data:image/png;base64,"
                                                                  + testCase.GetImageContent() + "\">\n" + "                                    </a>");
                }
                int passCount = 0;
                int failCount = 0;
                if ((testCase.GetTestCaseSteps() != null))
                {
                    for (int totalTestSteps = 0; totalTestSteps < testCase.GetTestCaseSteps().Count; totalTestSteps++)
                    {
                        if (testCase.GetTestCaseSteps()[totalTestSteps].IsStatus())
                        {
                            passCount++;
                        }
                        else
                        {
                            failCount++;
                        }
                    }
                }
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Total_Test_Steps_Successful%>", passCount.ToString());
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Total_Test_Steps_Fail%>", failCount.ToString());
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Start%>", testCase.GetStartTime());
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_End%>", testCase.GetEndTime());
                testCaseStartHtml = testCaseStartHtml.Replace("<%=Test_Case_Status%>", testCase.IsStatus().ToString());
                String allTestStepsHtml = "";
                if ((testCase.GetTestCaseSteps() != null))
                {
                    for (int testStepIndex = 0; (testStepIndex < testCase.GetTestCaseSteps().Count); testStepIndex++)
                    {
                        String   testStepUniqueString = Guid.NewGuid().ToString();
                        String   testStepHtml         = testStepTemplateBuffer.ToString();
                        TestStep testStep             = testCase.GetTestCaseSteps()[testStepIndex];
                        testStepHtml = testStepHtml.Replace("<%=StepNumber%>", testStepUniqueString);

                        if ((testStep.GetTestStep().Length >= 35))
                        {
                            testStepHtml = testStepHtml.Replace("<%=Test_Step_Name%>", testStep.GetTestStep().Substring(0, 35) + " .....");
                            testStepHtml = testStepHtml.Replace("<%=Test_Step_Name_If_Wrapped%>", testStep.GetTestStep());
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<%=Test_Step_Name%>", testStep.GetTestStep());
                            testStepHtml = testStepHtml.Replace("<%=Test_Step_Name_If_Wrapped%>", testStep.GetTestStep());
                        }
                        //testStepHtml = testStepHtml.Replace("<%=Test_Step_Name%>", testStep.GetTestStep().Replace(";", "</br>"));
                        if (testStep.IsStatus())
                        {
                            testStepHtml = testStepHtml.Replace(" <span class=\"label label-danger\" title=\"Failed\">Failed</span>", "");
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<span class=\"label label-success\" title=\"Passed\">Passed</span>", "");
                        }

                        testStepHtml = testStepHtml.Replace("<%=Step_Start_Time%>", testStep.GetStepStartTime());
                        testStepHtml = testStepHtml.Replace("<%=Step_End_Time%>", testStep.GetStepEndTime());
                        if ((testStep.GetInput() != null))
                        {
                            testStepHtml = testStepHtml.Replace("<%=Step_Input>", testStep.GetInput().Replace(";", "</br>"));
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<%=Step_Input>", "");
                        }

                        if ((testStep.GetOutput() != null))
                        {
                            testStepHtml = testStepHtml.Replace("<%=Output_Status%>", "<b>Output : </b>" + testStep.GetOutput().Replace(";", "</br>"));
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<%=Output_Status%>", "");
                        }

                        if ((testStep.GetExpectedResult() != null))
                        {
                            testStepHtml = testStepHtml.Replace("<%=Step_Expected_Result%>", testStep.GetExpectedResult());
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<%=Step_Expected_Result%>", "");
                        }

                        testStepHtml = testStepHtml.Replace("<%=Step_Status%>", testStep.IsStatus().ToString());
                        if (((testStep.GetImageContent() != null) &&
                             (testStep.GetImageContent().Length > 20)))
                        {
                            testStepHtml = testStepHtml.Replace("<%=ScreenShot%>",
                                                                "<a class=\"screenshot\" href=\"data:image/png;base64,"
                                                                + testStep.GetImageContent()
                                                                + "\">\n"
                                                                + "                                        <img class=\"screenshot\" style=\"height:100%;width:100%\" id=\"my_images\" src=\"data:image/png;base64,"
                                                                + testStep.GetImageContent()
                                                                + "\">\n"
                                                                + "                                    </a>");
                        }
                        else
                        {
                            testStepHtml = testStepHtml.Replace("<%=ScreenShot%>", "");
                        }

                        allTestStepsHtml = (allTestStepsHtml + testStepHtml);
                        if ((testStep.GetImages() != null) &&
                            (testStep.GetImages().Count > 0))
                        {
                            String screenShotUniqueString = Guid.NewGuid().ToString();
                            String screenShotString       = screenShotsTemplateStart.ToString();
                            screenShotString = screenShotString.Replace("<%=ScreenShotNumber%>", screenShotUniqueString);
                            int imageCountIndex = 1;
                            foreach (String imageContent in testStep.GetImages())
                            {
                                screenShotString = screenShotString + "<b>Screenshot-"
                                                   + imageCountIndex + "</b>";
                                screenShotString = screenShotString + "<a class=\"screenshot\" href=\"data:image/png;base64,"
                                                   + imageContent + "\">\n" + "                                        <img class=\"screenshot\" style=\"height:100%;width:100%\" id" +
                                                   "=\"my_images\" src=\"data:image/png;base64,"
                                                   + imageContent + "\">\n" + "                                    </a>";
                                imageCountIndex++;
                            }

                            allTestStepsHtml  = allTestStepsHtml + screenShotString;
                            allTestStepsHtml += "</div></div></div></div>";
                        }
                    }
                }
                if (((testCase.GetImages() != null) &&
                     (testCase.GetImages().Count > 0)))
                {
                    String screenShotUniqueString = Guid.NewGuid().ToString();
                    String screenShotString       = screenShotsTemplateStart.ToString();
                    screenShotString = screenShotString.Replace("<%=ScreenShotNumber%>", screenShotUniqueString);
                    int imageCountIndex = 1;
                    foreach (String imageContent in testCase.GetImages())
                    {
                        screenShotString = screenShotString + "<b>Screenshot-"
                                           + imageCountIndex + "</b>";
                        screenShotString = screenShotString
                                           + "<a class=\"screenshot\" href=\"data:image/png;base64,"
                                           + imageContent
                                           + "\">\n"
                                           + "                                        <img class=\"screenshot\" style=\"height:100%;width:100%\" id=\"my_images\" src=\"data:image/png;base64,"
                                           + imageContent
                                           + "\">\n"
                                           + "                                    </a>";
                        imageCountIndex++;
                    }
                    allTestStepsHtml  = allTestStepsHtml + screenShotString;
                    allTestStepsHtml += "</div></div></div></div>";
                }
                testCaseStartHtml = testCaseStartHtml + allTestStepsHtml;
                testCaseStartHtml = testCaseStartHtml + testCaseEndTemplateBuffer.ToString();
                allTestCasesHtml  = allTestCasesHtml + testCaseStartHtml;
            }
            return(allTestCasesHtml);
        }