【发布时间】:2012-01-31 05:34:48
【问题描述】:
我创建了几个测试用例,我需要在网站的多个页面上进行测试。 我想通过在 excel 表中提供页面的 url,然后在 URL 上一一运行测试用例,在所有页面上执行测试用例。
我已将测试套件名称、测试类名称和方法名称放在 testng.xml 中,以便维护执行顺序。现在如何编写一个程序在所有网页上递归地运行这些测试。
谢谢 维沙尔
【问题讨论】:
标签: testng
我创建了几个测试用例,我需要在网站的多个页面上进行测试。 我想通过在 excel 表中提供页面的 url,然后在 URL 上一一运行测试用例,在所有页面上执行测试用例。
我已将测试套件名称、测试类名称和方法名称放在 testng.xml 中,以便维护执行顺序。现在如何编写一个程序在所有网页上递归地运行这些测试。
谢谢 维沙尔
【问题讨论】:
标签: testng
在 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[][] 返回。显然,在 Data Provider 实现中硬编码 URL 是一种更简单的方法。或者,您可以在 testng.xml 中列出测试 URL,如文章中所述。但这取决于您在实施解决方案时的灵活性。
这回答了 TestNG 部分。您可能需要询问或搜索“如何在 java 中读取 excel 表”。祝你好运。
【讨论】: