Java 将输入馈送到TestNG

Java 将输入馈送到TestNG,java,testing,testng,Java,Testing,Testng,是否有一种可接受的方法(或已经编写的代码)从外部文件向TestNG输入复杂数据 例如,使用TestNG和HTMLUnit,我可能希望在单独的XML文件中定义一组URL和自定义Xpath测试,或者在TestNG文件中提取它,然后将其用作数据提供程序 例如,将此文件输入到testNG(作为单独的文件或testNG.xml的一部分): //div[@class='baz'] //div[@class='bat'] ... 将告诉我的测试针对bar.com和bar.com/foo运行,针对页面运行一

是否有一种可接受的方法(或已经编写的代码)从外部文件向TestNG输入复杂数据

例如,使用TestNG和HTMLUnit,我可能希望在单独的XML文件中定义一组URL和自定义Xpath测试,或者在TestNG文件中提取它,然后将其用作数据提供程序

例如,将此文件输入到testNG(作为单独的文件或testNG.xml的一部分):


//div[@class='baz']
//div[@class='bat']
...

将告诉我的测试针对bar.com和bar.com/foo运行,针对页面运行一些element exists断言。可能的如果是,怎么做?我了解使用dataProviders参数化测试和使用@Factory有条件地创建测试用例,但是如何让TestNG读取输入?任何最佳实践都值得赞赏。

读取@DataProvider中的数据并将其输入测试方法,测试方法将接收这些数据作为参数。这应该很简单。

谢谢塞德里克。TestNG是否有内置的XML解析工具?我假设您使用了一些东西来解析testng.xml文件。您不建议将额外的XML配置(在我的例子中是URL映射)放入testng.XML文件中吗?如果需要读取testng.XML,请查找XMLSuite和其他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>