2011-06-28 75 views
0

我創建了幾個測試用例,我需要在多個網頁上測試。 我想在所有頁面上執行測試用例,方法是在Excel表格中提供頁面url,然後在URL上逐個運行測試用例。在testNG的多個URL上運行相同的測試

我已經在testng.xml中放置了測試套件名稱,測試類名稱和方法名稱,以便執行的順序已被維護。現在如何編寫一個程序在所有網頁上遞歸運行這些測試。

感謝 維沙爾

回答

1

在Excel工作表中提供的網址是不是一個好主意,但卻是可能實現的。

看看TestNG中的@DataProvider註解。下面是從JUnit 4 vs TestNG製品的例子:

@Test(dataProvider = "Data-Provider-Function") 
public void parameterIntTest(Class clzz, String[] number) { 
    System.out.println("Parameterized Number is : " + number[0]); 
    System.out.println("Parameterized Number is : " + number[1]); 
} 

//This function will provide the patameter data 
@DataProvider(name = "Data-Provider-Function") 
public Object[][] parameterIntTestProvider() { 
    return new Object[][]{ 
       {Vector.class, new String[] {"java.util.AbstractList", "java.util.AbstractCollection"}}, 
       {String.class, new String[] {"1", "2"}}, 
       {Integer.class, new String[] {"1", "2"}} 
       }; 
} 

數據提供者實現將不得不從excel表加載數據,並將其返回作爲Object [] []。顯然,更簡單的方法是在數據提供程序實現中對URL進行硬編碼。或者,您可以按照上述文章中的說明在testng.xml中列出測試URL。但這是您的選擇,取決於您在實施解決方案時擁有多大的靈活性。

這回答TestNG部分。您可能需要詢問或搜索「如何閱讀Java中的Excel表格」。祝你好運。