熟悉TestNG的朋友们往往都知道testng.xml文件,testng.xml文件是我们定义测试计划的配置文件,其中可以进行各种复杂的配置。
但是,当我们有多个testng.xml文件时(当然文件名不同),如何能够组合这些配置文件呢?这里介绍一个特别但是却没有在TestNG文档中提及的suite-files,也被称为Suite of Suites。
首先,组合若干个testng.xml配置文件的需求十分常见,但是找遍TestNG文档也未见提及,只是在运行TestNG时提及了同时将多个testng.xml文件作为启动参数交给org.testng.TestNG。难道TestNG真的不支持这种测试配置场景吗?
且慢,既然testng.xml配置文件是一种XML文件,而定义XML文件往往用到XML Schema或DTD,让我们先看看testng.xml配置文件的元文件DTD吧(testng.xml配置文件没有提供XML Schema文件)。
在DTD中,最有可能的就是元素suite-files及其子元素suite-file,如下所示:
<!ELEMENT suite (groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*) >
<!ELEMENT suite-files (suite-file)* >
...
<!ELEMENT suite-file ANY >
<!ATTLIST suite-file
path CDATA #REQUIRED
>
编写一个引用多个testng.xml的文件如下:
<suite name="DailyTestSuite">
<suite-files>
<suite-file path="senarios/test1.xml"