2011-12-19 76 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