在testNG中的多个URL上运行相同的测试

时间:2011-06-28 22:58:03

标签: testng

我创建了一些测试用例,我需要在多个网站页面上进行测试。 我想通过在excel表中提供页面的url然后在URL上逐个运行测试用例来在所有页面上执行测试用例。

我已将测试套件名称,测试类名称和方法名称放在testng.xml中,以便执行顺序是maintanined。现在如何编写程序以递归方式在所有网页上运行这些测试。

由于 维沙尔

1 个答案:

答案 0 :(得分:1)

在excel表中提供URL并不是一个好主意,但可以实现。

在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表”。祝你好运。