2011-12-19 79 views
0

是否有从外部文件输入复杂数据到TestNG的可接受方式(或已编写代码)?将输入输入到TestNG

例如,使用TestNG和HTMLUnit,我可能想要在一个单独的XML文件或testng文件中定义一堆URL和自定义Xpath测试,然后将其解压缩,然后将其用作dataProvider。

例如输入查询该文件来TestNG的(无论是作为一个单独的文件,或者作为testng.xml文件的一部分):

<pages> 
    <url value="http://www.bar.com"> 
     <element-exists> 
      <xpath>//div[@class='baz']</xpaths> 
      <xpath>//div[@class='bat']</xpath> 
     </element-exists> 
    </url> 
    <url value="http://www.bar.com/foo"> 
     ... 
    </url> 
</pages> 

会告诉我的测试,以对bar.com和bar.com/foo运行,对页面运行一些元素存在的断言。可能?如果是这样,怎么样?我理解使用dataProviders来参数化测试并使用@Factory来有条件地创建测试用例,但是如何让TestNG读取输入?任何最佳实践表示赞赏。

回答

2

读取@DataProvider中的数据并将其送入您的测试方法中,该方法将接收此数据作为参数。它应该很直接。

+0

谢谢塞德里克。 TestNG是否有内置的XML解析工具?我假设你使用了一些东西来解析testng.xml文件。你不建议把额外的XML配置(在我的例子中是URL映射)放到testng.xml文件中吗? – Aaron 2011-12-20 14:10:30

+0

如果您需要阅读testng.xml,请查阅XMLSuite和其他XML *类。 – 2011-12-21 17:24:46