| <!-- |
| |
| Here is a quick overview of the main parts of this DTD. For more information, |
| refer to the <a href="http://testng.org">main web site</a>. |
| |
| A <b>suite</b> is made of <b>tests</b> and <b>parameters</b>. |
| |
| A <b>test</b> is made of three parts: |
| |
| <ul> |
| <li> <b>parameters</b>, which override the suite parameters |
| <li> <b>groups</b>, made of two parts |
| <li> <b>classes</b>, defining which classes are going to be part |
| of this test run |
| </ul> |
| |
| In turn, <b>groups</b> are made of two parts: |
| <ul> |
| <li> Definitions, which allow you to group groups into |
| bigger groups |
| <li> Runs, which defines the groups that the methods |
| must belong to in order to be run during this test |
| </ul> |
| |
| Cedric Beust & Alexandru Popescu |
| @title DTD for TestNG |
| @root suite |
| |
| --> |
| |
| |
| <!-- A suite is the top-level element of a testng.xml file --> |
| <!ELEMENT suite (groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*) > |
| |
| <!-- Attributes: --> |
| <!-- |
| @attr name The name of this suite (as it will appear in the reports) |
| @attr junit Whether to run in JUnit mode. |
| @attr verbose How verbose the output on the console will be. |
| This setting has no impact on the HTML reports. |
| @attr parallel Whether TestNG should use different threads |
| to run your tests (might speed up the process) |
| @attr parent-module A module used to create the parent injector of all guice injectors used |
| in tests of the suite |
| @attr guice-stage The stage with which the parent injector is created |
| @attr configfailurepolicy Whether to continue attempting Before/After |
| Class/Methods after they've failed once or just skip remaining. |
| @attr thread-count An integer giving the size of the thread pool to use |
| if you set parallel. |
| @attr annotations If "javadoc", TestNG will look for |
| JavaDoc annotations in your sources, otherwise it will |
| use JDK5 annotations. |
| @attr time-out The time to wait in milliseconds before aborting the |
| method (if parallel="methods") or the test (parallel="tests") |
| @attr skipfailedinvocationcounts Whether to skip failed invocations. |
| @attr data-provider-thread-count An integer giving the size of the thread pool to use |
| for parallel data providers. |
| @attr object-factory A class that implements IObjectFactory that will be used to |
| instantiate the test objects. |
| @attr allow-return-values If true, tests that return a value will be run as well |
| --> |
| <!ATTLIST suite |
| name CDATA #REQUIRED |
| junit (true | false) "false" |
| verbose CDATA #IMPLIED |
| parallel (false | methods | tests | classes | instances) "false" |
| parent-module CDATA #IMPLIED |
| guice-stage (DEVELOPMENT | PRODUCTION | TOOL) "DEVELOPMENT" |
| configfailurepolicy (skip | continue) "skip" |
| thread-count CDATA "5" |
| annotations CDATA #IMPLIED |
| time-out CDATA #IMPLIED |
| skipfailedinvocationcounts (true | false) "false" |
| data-provider-thread-count CDATA "10" |
| object-factory CDATA #IMPLIED |
| group-by-instances (true | false) "false" |
| preserve-order (true | false) "true" |
| allow-return-values (true | false) "false" |
| > |
| |
| <!-- A list of XML files that contain more suite descriptions --> |
| <!ELEMENT suite-files (suite-file)* > |
| |
| <!ELEMENT suite-file ANY > |
| <!ATTLIST suite-file |
| path CDATA #REQUIRED |
| > |
| |
| <!-- |
| Parameters can be defined at the <suite> or at the <test> level. |
| Parameters defined at the <test> level override parameters of the same name in <suite> |
| Parameters are used to link Java method parameters to their actual value, defined here. |
| --> |
| <!ELEMENT parameter ANY> |
| <!ATTLIST parameter |
| name CDATA #REQUIRED |
| value CDATA #REQUIRED > |
| |
| <!-- |
| Method selectors define user classes used to select which methods to run. |
| They need to implement <tt>org.testng.IMethodSelector</tt> |
| --> |
| <!ELEMENT method-selectors (method-selector*) > |
| <!ELEMENT method-selector ((selector-class)*|script) > |
| <!ELEMENT selector-class ANY> |
| <!ATTLIST selector-class |
| name CDATA #REQUIRED |
| priority CDATA #IMPLIED |
| > |
| <!ELEMENT script ANY> |
| <!ATTLIST script |
| language CDATA #REQUIRED |
| > |
| |
| <!-- |
| A test contains parameters and classes. Additionally, you can define additional groups ("groups of groups") |
| --> |
| |
| <!ELEMENT test (method-selectors?,parameter*,groups?,packages?,classes?) > |
| |
| <!-- |
| @attr name The name of this test (as it will appear in the reports) |
| @attr junit Whether to run in JUnit mode. |
| @attr verbose How verbose the output on the console will be. |
| This setting has no impact on the HTML reports. |
| Default value: suite level verbose. |
| @attr parallel Whether TestNG should use different threads |
| to run your tests (might speed up the process) |
| @attr thread-count An integer giving the size of the thread pool to be used if |
| parallel mode is used. Overrides the suite level value. |
| @attr annotations If "javadoc", TestNG will look for |
| JavaDoc annotations in your sources, otherwise it will |
| use JDK5 annotations. |
| @attr time-out the time to wait in milliseconds before aborting |
| the method (if parallel="methods") or the test (if parallel="tests") |
| @attr enabled flag to enable/disable current test. Default value: true |
| @attr skipfailedinvocationcounts Whether to skip failed invocations. |
| @attr preserve-order If true, the classes in this tag will be run in the same order as |
| found in the XML file. |
| @attr allow-return-values If true, tests that return a value will be run as well |
| --> |
| <!ATTLIST test |
| name CDATA #REQUIRED |
| junit (true | false) "false" |
| verbose CDATA #IMPLIED |
| parallel (false | methods | tests | classes | instances) #IMPLIED |
| thread-count CDATA #IMPLIED |
| annotations CDATA #IMPLIED |
| time-out CDATA #IMPLIED |
| enabled (true | false) #IMPLIED |
| skipfailedinvocationcounts (true | false) "false" |
| preserve-order (true | false) "true" |
| group-by-instances (true | false) "false" |
| allow-return-values (true | false) "false" |
| > |
| |
| <!-- |
| Defines additional groups ("groups of groups") and also which groups to include in this test run |
| --> |
| <!ELEMENT groups (define*,run?,dependencies?) > |
| |
| <!ELEMENT define (include*)> |
| <!ATTLIST define |
| name CDATA #REQUIRED> |
| |
| <!-- Defines which groups to include in the current group of groups --> |
| <!ELEMENT include ANY> |
| <!ATTLIST include |
| name CDATA #REQUIRED |
| description CDATA #IMPLIED |
| invocation-numbers CDATA #IMPLIED> |
| |
| <!-- Defines which groups to exclude from the current group of groups --> |
| <!ELEMENT exclude ANY> |
| <!ATTLIST exclude |
| name CDATA #REQUIRED> |
| |
| <!-- The subtag of groups used to define which groups should be run --> |
| <!ELEMENT run (include?,exclude?)* > |
| |
| <!ELEMENT dependencies (group*)> |
| |
| <!ELEMENT group ANY> |
| <!ATTLIST group |
| name CDATA #REQUIRED |
| depends-on CDATA #REQUIRED> |
| |
| <!-- The list of classes to include in this test --> |
| <!ELEMENT classes (class*,parameter*) > |
| <!ELEMENT class (methods|parameter)* > |
| <!ATTLIST class |
| name CDATA #REQUIRED > |
| |
| <!-- The list of packages to include in this test --> |
| <!ELEMENT packages (package*) > |
| <!-- The package description. |
| If the package name ends with .* then subpackages are included too. |
| --> |
| <!ELEMENT package (include?,exclude?)*> |
| <!ATTLIST package |
| name CDATA #REQUIRED > |
| |
| <!-- The list of methods to include/exclude from this test --> |
| <!ELEMENT methods (include?,exclude?,parameter?)* > |
| |
| <!-- The list of listeners that will be passed to TestNG --> |
| <!ELEMENT listeners (listener*) > |
| |
| <!ELEMENT listener ANY> |
| <!ATTLIST listener |
| class-name CDATA #REQUIRED > |