Ejemplo n.º 1
0
        private bool LoadSuiteObjectFromXml()
        {
            try
            {
                if (SuiteXml == null)
                {
                    return(false);
                }

                SuiteObject            = new TestNGTestSuite();
                SuiteObject.Name       = SuiteXml.DocumentElement.GetAttribute("name").ToString();
                SuiteObject.Parameters = GetTestParametersFromXmlElement(SuiteXml.DocumentElement);
                SuiteObject.Listeners  = GetSuiteListners(SuiteXml.DocumentElement);

                SuiteObject.Tests = new List <TestNGTest>();
                foreach (XmlElement xmlTest in SuiteXml.GetElementsByTagName("test"))
                {
                    TestNGTest ngTest = new TestNGTest
                    {
                        Name       = xmlTest.Attributes.GetNamedItem("name").Value,
                        Parameters = GetTestParametersFromXmlElement(xmlTest),
                        Classes    = GetTestClassesFromXmlElement(xmlTest),
                    };
                    SuiteObject.Tests.Add(ngTest);
                }

                return(true);
            }
            catch (Exception ex)
            {
                LoadError = string.Format("Failed to load the TestNG Suite Object from XML due to the Error: '{0}'", ex.Message);
                return(false);
            }
        }
        private bool LoadSuiteReportObjectFromXml()
        {
            try
            {
                if (ReportXml == null)
                {
                    return(false);
                }

                //General counters
                Int32.TryParse(ReportXml.DocumentElement.GetAttribute("passed").ToString(), out PassedTestMethodsNum);
                Int32.TryParse(ReportXml.DocumentElement.GetAttribute("failed").ToString(), out FailedTestMethodsNum);
                Int32.TryParse(ReportXml.DocumentElement.GetAttribute("skipped").ToString(), out SkippedTestMethodsNum);
                Int32.TryParse(ReportXml.DocumentElement.GetAttribute("ignored").ToString(), out IgnoredTestMethodsNum);
                Int32.TryParse(ReportXml.DocumentElement.GetAttribute("total").ToString(), out TotalTestMethodsNum);

                //Executed Suites details
                ReportSuites = new List <TestNGTestSuite>();
                foreach (XmlElement xmlReportSuite in ReportXml.GetElementsByTagName("suite"))
                {
                    TestNGTestSuite ngSuite = new TestNGTestSuite();
                    ngSuite.Name       = xmlReportSuite.GetAttribute("name").ToString();
                    ngSuite.Parameters = GetTestParametersFromXmlElement(xmlReportSuite);
                    DateTime.TryParse(xmlReportSuite.GetAttribute("started-at").ToString(), out ngSuite.ExecutionStartTime);
                    DateTime.TryParse(xmlReportSuite.GetAttribute("finished-at").ToString(), out ngSuite.ExecutionEndTime);
                    Int32.TryParse(xmlReportSuite.GetAttribute("duration-ms").ToString(), out ngSuite.ExecutionDurationMS);

                    ngSuite.Tests = new List <TestNGTest>();
                    foreach (XmlElement xmlReportTest in xmlReportSuite.GetElementsByTagName("test"))
                    {
                        TestNGTest ngTest = new TestNGTest();
                        ngTest.Name = xmlReportTest.GetAttribute("name").ToString();
                        DateTime.TryParse(xmlReportTest.GetAttribute("started-at").ToString(), out ngTest.ExecutionStartTime);
                        DateTime.TryParse(xmlReportTest.GetAttribute("finished-at").ToString(), out ngTest.ExecutionEndTime);
                        Int32.TryParse(xmlReportTest.GetAttribute("duration-ms").ToString(), out ngTest.ExecutionDurationMS);
                        ngTest.Parameters = GetTestParametersFromXmlElement(xmlReportTest);
                        ngTest.Classes    = GetTestClassesFromXmlElement(xmlReportTest);
                        ngSuite.Tests.Add(ngTest);
                    }
                    ReportSuites.Add(ngSuite);
                }

                return(true);
            }
            catch (Exception ex)
            {
                LoadError = string.Format("Failed to load the TestNG Suite Report Object from XML due to the Error: '{0}'", ex.Message);
                return(false);
            }
        }