Class XMLTestSuiteRunner

  • All Implemented Interfaces:
    XMLReflectConstants, XTRunConstants, XTSConstants

    public class XMLTestSuiteRunner
    extends java.lang.Object
    implements XTRunConstants, XTSConstants
    This class can be used to build and run a TestSuite from an XML description following the "XML Test Run" and "XML Test Suite" formats, whose constants are defined in the XTRunConstants and XTSConstants interfaces. This class takes a "Test Run" XML description as an input. That description contains:
    + pointers to a number of "Test Suite" XML descriptions, which contain the definition of the set of Tests to be run and their configuration.
    + a description of the set of TestReportProcessor and their configuration that should be used to process the reports generated by the various TestSuites.
    Version:
    $Id: XMLTestSuiteRunner.java 1806580 2017-08-29 12:06:44Z ssteiner $
    • Field Detail

      • MESSAGE_UNMATCHED_TEST_IDS

        public static final java.lang.String MESSAGE_UNMATCHED_TEST_IDS
        Displayed when no test or testSuite matching the input id was found. {0} : unmatched id set
        See Also:
        Constant Field Values
      • CANNOT_CREATE_TEST_REPORT_PROCESSOR

        public static final java.lang.String CANNOT_CREATE_TEST_REPORT_PROCESSOR
        An error happened while processing a TestreportProcessor description. {0} : the <testReportProcessor> "className" attribute value {1} : exception's class name {2} : exception's message {3} : exception's stack trace
        See Also:
        Constant Field Values
      • TEST_SUITE_EXCEPTION

        public static final java.lang.String TEST_SUITE_EXCEPTION
        An error happened while running the TestSuite {0} : TestSuite name {1} : TestSuite class name. {1} : exception's class name. {2} : exception's message {3} : exception's stack trace.
        See Also:
        Constant Field Values
      • TEST_REPORT_PROCESSING_EXCEPTION

        public static final java.lang.String TEST_REPORT_PROCESSING_EXCEPTION
        An error happened while processing the TestReport generated by the TestSuite {0} : TestReportProcessor class name. {1} : exception's class name. {2} : exception's message {3} : exception's stack trace.
        See Also:
        Constant Field Values
      • USAGE

        public static final java.lang.String USAGE
        Displayed when the user passes no arguments to the command line.
        See Also:
        Constant Field Values
      • NOT_A_FILE_TRY_URI

        public static final java.lang.String NOT_A_FILE_TRY_URI
        Displayed when the input argument does not represent an existing file to notify the user that the argument is going to be interpreted as a URI.
        See Also:
        Constant Field Values
      • COULD_NOT_CONVERT_FILE_NAME_TO_URI

        public static final java.lang.String COULD_NOT_CONVERT_FILE_NAME_TO_URI
        Displayed when the input file name cannot be turned into a URL
        See Also:
        Constant Field Values
      • INVALID_URI

        public static final java.lang.String INVALID_URI
        Displayed when the input argument does not represent a valid URI
        See Also:
        Constant Field Values
      • INVALID_DOCUMENT

        public static final java.lang.String INVALID_DOCUMENT
        Displayed when the input document cannot be parsed. {0} : uri of the invalid document. {1} : exception generated while parsing {2} : exception message
        See Also:
        Constant Field Values
      • ERROR_RUNNING_TEST_SUITE

        public static final java.lang.String ERROR_RUNNING_TEST_SUITE
        Error displayed when an error occurs while running the test suite
        See Also:
        Constant Field Values
    • Constructor Detail

      • XMLTestSuiteRunner

        public XMLTestSuiteRunner()
    • Method Detail

      • extractTestReportProcessor

        protected TestReportProcessor[] extractTestReportProcessor​(org.w3c.dom.Element element)
                                                            throws TestException
        Builds an array of TestReportProcessor from the input element, assuming the input element is a <testSuite> instance,
        Throws:
        TestException
      • buildTestRunTestSuite

        protected DefaultTestSuite buildTestRunTestSuite​(org.w3c.dom.Element element)
                                                  throws TestException
        Builds a TestSuite from an input element. This method assumes that element is a <testRun> instance. The element is scanned for children <testSuite> elements which is loaded into a Test and composited into a TestSuite
        Throws:
        TestException
      • getChildrenByTagName

        protected org.w3c.dom.Element[] getChildrenByTagName​(org.w3c.dom.Element element,
                                                             java.lang.String tagName)
        Gets all the children of a given type.
      • run

        public TestReport run​(org.w3c.dom.Document doc,
                              java.lang.String[] ids)
                       throws TestException
        Runs the test suite described by the input Document object. If the input ids array is null or of zero length, then all the tests will be run. Otherwise, only the tests identified by the array will be run.
        Throws:
        TestException
      • main

        public static void main​(java.lang.String[] args)