我创建了一些测试用例,我需要在多个网站页面上进行测试。 我想通过在excel表中提供页面的url然后在URL上逐个运行测试用例来在所有页面上执行测试用例。
我已将测试套件名称,测试类名称和方法名称放在testng.xml中,以便执行顺序是maintanined。现在如何编写程序以递归方式在所有网页上运行这些测试。
由于 维沙尔
答案 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表”。祝你好运。